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