Android手機(jī)對應(yīng)用都有個最大內(nèi)存使用限制
// 打印看一下手機(jī)跟APP分配的內(nèi)存信息
public void getMemoryInfo() {
StringBuilder sb = new StringBuilder();
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
int memoryMax = am.getMemoryClass();
int memoryLarge = am.getLargeMemoryClass();
sb.append("memoryMax:" + memoryMax + " | ");
sb.append("memoryLarge:" + memoryLarge);
Log.i("MEMO", sb.toString());
}
Android代碼中內(nèi)存使用注意點(diǎn)
- String拼接采用StringBuilder
- 復(fù)用系統(tǒng)自帶資源
- RecycleView的ViewHoder復(fù)用
- 避免onDraw()方法中執(zhí)行對象的創(chuàng)建
- 避免Activity泄露
- 用Application的Context
- 注意Cursor對象及時關(guān)閉
- ArrayMap跟HashMap相比效率高
- 圖片壓縮(魯班壓縮等)
- 代碼編寫規(guī)范款熬,避免內(nèi)存抖動等問題
參考鏈接