眾說周知在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,...