glide 压缩图拍呢_用Glide-图片的压缩-图片压缩原理
前言:
這一節里面我們將介紹Glide如何對圖片進行壓縮,這一點在加載圖片較多或者加載的圖片像素很高的程序里面至關重要
Glide 系列目錄
1.Glide-入門教程
2.Glide-占位圖以及加載動畫
3.Glide-加載本地圖片
4.Glide-加載Gif
5.Glide-綁定生命周期
6.Glide-內存緩存與磁盤緩存
7.Glide-通過Modules定制Glide
8.Glide-自定義緩存
9.Glide-圖片的壓縮
10.Glide-圖片預處理(圓角,高斯模糊等)
11.Glide-圖片的剪裁(ScaleType)
12.Glide-源碼詳解
1.Android圖片顯示相關知識
這里會講一下圖片顯示相關的基礎知識,如果不關心的可以直接跳到第二點,不過建議是最好看一下
1.1圖片質量分類
安卓圖片顯示的質量配置主要分為四種:
ARGB_8888 :32位圖,帶透明度,每個像素占4個字節
ARGB_4444 :16位圖,帶透明度,每個像素占2個字節
RGB_565 :16位圖,不帶透明度,每個像素占2個字節
ALPHA_8 :32位圖,只有透明度,不帶顏色,每個像素占4個字節
(A代表透明度,RGB代表紅綠藍:即顏色)
1.2圖片默認質量
Picasso的默認質量是 ARGB_8888
Glide的默認質量則為 RGB_565
1.3占用內存
加載一張4000 * 2000(一般手機拍攝的都超過這個像素)的圖片
Picasso需要占用的內存為: 32MB
4000 * 2000 * 4 / 1024 / 1024 = 30 (MB)
Glide需要占用的內存為: 16MB
4000 * 2000 * 2 / 1024 / 1024 = 15 (MB)
也就是說只要同時加載幾張圖片,你的應用就會OOM(內存溢出了),最恐怖的是就算你的ImageView的寬高只有10px,同樣會占用那么多內存,這就是為什么需要做圖片壓縮的原因了
2.圖片質量的壓縮或者提高
在Glide里面默認用的是RGB_565,如果需要修改,相對于Picasso來說會更加麻煩一些,在之前的文章中,講到過如何修改Glide的圖片質量,這里就不再做介紹了
通過GlideModule定制Glide
http://blog.csdn.net/yulyu/article/details/55194237
3.圖片尺寸的壓縮或者拉伸(override)
通過調用override,就可以把圖片壓縮到相應的尺寸來顯示了,類似這些被處理過的圖片,就是之前文章中提到的RESULT(處理圖)
Glide.with(this).load(mUrl).override(300,300).into(mIv);
注意,這里具體會壓縮到什么尺寸還會根據很多條件來計算,所以最終壓縮的結果的寬高會比較接近你的傳值,但是不一定會完全相同,如果感興趣的可以期待本系列后面的Glide源碼解析中的具體介紹
(一般來說控件是什么尺寸就傳入相應的寬高,這樣是比較適合的壓縮比例)
熱門文章
Glide-內存緩存與磁盤緩存
Glide-自定義緩存
Glide-入門教程
Okhttputils終極封裝
FaceBook推出的調試神器
Android代碼優化工具
總結
以上是生活随笔為你收集整理的glide 压缩图拍呢_用Glide-图片的压缩-图片压缩原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恋与制作人破解版网盘
- 下一篇: flash如何制作影子效果