android記憶體優化筆記

2021-08-21 08:19:01 字數 1045 閱讀 1433

a.資料結構優化

字串拼接,用stringbuilder 而不用string

arraymap/sparsearray替換hashmap

記憶體抖動

(頻繁分配記憶體空間,而gc又去銷毀)

b.物件復用

復用系統自帶資源

listview/gridview的convertview復用

避免在ondraw中建立物件

c.記憶體洩漏

(記憶體塊被其它引用,導致gc無法**)

記憶體洩漏會導致剩餘可用heap越來越少,頻繁觸發gc

尤其activity洩漏

cursor關閉

5.oom(大部分發生在的oom)

的處理

強引用和軟引用(softreference mp)

a 臨時bitmap物件及時**

b 避免bitmap浪費

c try catch大記憶體分配操作

d 載入bitmap:縮放比例/解碼格式/區域性載入

6.檢查ui卡頓

a 設定主線程傳送訊息處理時間的logging列印,

public

class

blockdetectbyprinter

if (x.startswith(end))

}});

}}

b 開啟列印主線程超時的子執行緒

public

class

logmonitor

private

static runnable mlogrunnable = new runnable()

log.e("tag", sb.tostring());}};

public

static logmonitor getinstance()

public

void

startmonitor()

public

void

removemonitor()

}

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,...