一、前言
已經好久沒有更新博客,大概有半年了,主要是博主這段時間忙于找工作,Android崗位的工作真的是越來越難找,好不容易在廣州找到一家,主要做海外產品,公司研發實力也不錯,所以就敲定了三方協議。現在已經在公司實習了一個月多,目前主要是負責公司某個產品的內存優化,剛好就總結了一下Android Bitmap常用的優化方式。
Android中的圖片是以Bitmap方式存在的,繪制的時候也是Bitmap,直接影響到app運行時的內存,在Android,Bitmap所占用的內存計算公式是:圖片長度 x 圖片寬度 x像素點的字節數
二、圖片常用的壓縮格式
Enum Values | |
---|---|
ALPHA_8 | 每個像素都存儲為一個半透明(alpha)通道 |
ARGB_4444 | 此字段已在API級別13中棄用。由于此配置的質量較差,建議使用ARGB_8888 |
ARGB_8888 | 每個像素存儲在4個字節。 |
RGB_565 | 每個像素存儲在2個字節中,只有RGB通道被編碼:紅色以5位精度存儲(32個可能值),綠色以6位精度存儲(64個可能值),藍色存儲為5位精確。 |
其中字母代表的意思我們大概都可以理解,接下來我們來算算它們單個像素點的字節數:
我們在做壓縮處理的時候,可以先通過改變Bitmap的圖片格式,來達到壓縮的效果,其實壓縮最主要就是要么改變其寬高,要么就通過減少其單個像素占用的內存。
三、常用的壓縮方法:
1.質量壓縮
private void compressQuality() { Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.test); mSrcSize = bm.getByteCount() + "byte"; ByteArrayOutputStream bos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.JPEG, 100, bos); byte[] bytes = bos.toByteArray(); mSrcBitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); }
網頁名稱:詳解AndroidBitmap的常用壓縮方式-創新互聯
當前路徑:http://www.2m8n56k.cn/article2/gjjic.html
成都網站建設公司_創新互聯,為您提供用戶體驗、企業網站制作、App開發、搜索引擎優化、建站公司、響應式網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯