亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么進行Bitmap資源優化

發布時間:2021-12-03 13:57:44 來源:億速云 閱讀:142 作者:小新 欄目:移動開發

這篇文章將為大家詳細講解有關怎么進行Bitmap資源優化,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1. 優化原因

即 為什么要優化圖片Bitmap資源,具體如下圖:

怎么進行Bitmap資源優化


2. 優化方向

本文將從 以下方面優化圖片Bitmap資源的使用 & 內存管理:

怎么進行Bitmap資源優化


3. 具體優化方案

下面,我將詳細講解每個優化方向的具體優化方案

怎么進行Bitmap資源優化

下面,我將詳細講解上述各個方案。

3.1 使用完畢后 釋放圖片資源

優化原因:使用完畢后若不釋放圖片資源,容易造成內存泄露,從而導致內存溢出

優化方案:

a. 在 Android2.3.3(API 10)前,調用 Bitmap.recycle()方法

b. 在 Android2.3.3(API 10)后,采用軟引用(SoftReference)

具體描述:在 Android2.3.3(API 10)前、后,Bitmap對象 & 其像素數據 的存儲位置不同,從而導致釋放圖片資源的方式不同,具體如下圖:

怎么進行Bitmap資源優化

注:若調用了Bitmap.recycle()后,再繪制Bitmap,則會出現Canvas: trying to use a recycled bitmap錯誤。

3.2 根據分辨率適配 & 縮放圖片

優化原因:若 Bitmap 與 當前設備的分辨率不匹配,則會拉伸Bitmap,而Bitmap分辨率增加后,所占用的內存也會相應增加,主要因為Bitmap 的內存占用 根據 x、y的大小來增加的。

優化方案:

怎么進行Bitmap資源優化

3.3 按需 選擇合適的解碼方式

優化原因:不同的圖片解碼方式 對應的 內存占用大小 相差很大,具體如下

怎么進行Bitmap資源優化

特別注意:

1. 位圖位數越高,代表其可存儲的顏色信息越多,圖像越逼真

2. 一般情況下,使用ARGB_8888,其最占內存 = 1個像素占4字節

3. 示例:若有1張480x800的圖片,格式 = ARGB_8888,將會占用1500KB的內存

優化方案:根據需求 選擇合適的解碼方式,需注意的是:

1. 使用參數:BitmapFactory.inPreferredConfig 設置

2. 默認使用解碼方式:ARGB_8888

3.4 設置 圖片緩存

優化原因:重復加載圖片資源耗費太多資源(CPU、內存 & 流量)

優化方案

怎么進行Bitmap資源優化

關于“怎么進行Bitmap資源優化”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

夏邑县| 新津县| 彭州市| 贵州省| 襄汾县| 嘉禾县| 沅陵县| 沅江市| 余江县| 蓬溪县| 朝阳区| 呈贡县| 高阳县| 萍乡市| 金塔县| 梁平县| 塔城市| 桐柏县| 肥乡县| 沂源县| 祁门县| 阿坝| 民丰县| 夹江县| 阳江市| 大英县| 宜阳县| 木兰县| 新营市| 宁南县| 青冈县| 礼泉县| 连云港市| 柯坪县| 襄城县| 朝阳县| 广昌县| 炉霍县| 迁安市| 鄂托克前旗| 南雄市|