android記憶體優化 Bitmap

2021-07-08 13:18:38 字數 1024 閱讀 8385

眾說周知在android開發中bitmap是吃記憶體的大戶,所以談到android記憶體優化首先得對bitmap進行優化

## 優化方法主要有:

###1)對於無用的bitmap要及時進行**

釋放bitmap的方法:

`if(bitmap != null && bitmap.isrecycled()) `

bitmap.recycle()方法用來**bitmap所占用的記憶體。需要注意的是已釋放的bitmap不能在使用。如果在使用就會丟擲異常,所以需要在保證不使用的情況下再去釋放。一般情況在activity的ondestory()方法中釋放。

###2)快取通用的bitmap物件

有時候,可能需要在乙個activity裡多次用到同一張可以對同一bitmap進行快取。如果不進行快取,儘管看到的是同一張檔案,但是使用bitmapfactory類的方法來例項化出來的bitmap,是不同的bitmap物件。快取可以避免新建多個bitmap物件,避免記憶體的浪費。

####3)壓縮

如果使用一些畫素較大的不進行壓縮有可能會出現oom。所以在實際專案中使用大圖時需要進行壓縮。

壓縮方法:

bitmapfactory.options

options = new bitmapfactory.options();

// 設定injustdecodebounds為true

options.injustdecodebounds = true;

// 使用decodefile方法得到的寬和高

bitmapfactory.decodefile(path, options );

// 列印出的寬和高

log.d("bitmap_width="+options .outwidth + ",bitmap_height=" + options .outheight);

利用該方法可以先計算出原始的寬和高,然後通過設定option中insamplesize的值進行縮放

android記憶體優化

1 使用option進行壓縮。public static bitmap createimagethumbnail string filepath catch exception e return bitmap public static int computesamplesize bitmapfac...

android記憶體優化

android因其系統的特殊性,安裝的軟體預設都安裝到記憶體中,所以隨著使用者安裝的軟體越來越多,可供執行的程式使用的記憶體越來越小,這就要求我們在開發android程式時,盡可能的少占用記憶體。根據我個人的開發經驗總結了如下幾點優化記憶體的方法 建立或其他方式獲得的物件如不再使用,則主動將其置為n...

Android效能優化 記憶體優化

記憶體優化 下面介紹一下常用的一些記憶體優化的方法 從慕課網學來的 資料結果優化 1,如果經常使用字串拼接的話,要用stringbuilder,避免直接使用使用 的方式 2,使用arraymap,sparsearray代替hashmap 3,避免記憶體抖動的情況 物件復用 1,復用系統自帶資源 2,...