設(shè)備分級(jí)
可以觀察到碴里,低內(nèi)存機(jī)器崩潰率較高肚豺。特別是東南亞劫恒,非洲市場(chǎng)哨坪,低端手機(jī)占比大庸疾。
設(shè)備劃分:https://github.com/facebook/device-year-class
針對(duì)低端機(jī):
- 減少,關(guān)閉復(fù)雜的動(dòng)畫(huà)当编。
- 使用RGB_565圖片格式届慈,比ARGB_8888減少一半內(nèi)存。
- 設(shè)定較小的緩存忿偷。
- 較少安裝包大小金顿。代碼和資源的載入都占一定的內(nèi)存。例子:QQ輕聊版鲤桥,今日頭條極速版等……
容易忽略的地方
- 緩存管理揍拆。進(jìn)行統(tǒng)一的緩存管理;OnTrimMemory回調(diào)時(shí)及時(shí)釋放芜壁。
- 進(jìn)程礁凡,線程數(shù)量。減少無(wú)必要的進(jìn)程慧妄;避免不合理地使用大量線程顷牌。
Bitmap
圖片無(wú)可避免占比大。
- 使用統(tǒng)一圖片加載塞淹】呃叮可以使用成熟的開(kāi)源庫(kù):Glide,F(xiàn)resco等饱普。
- 低端機(jī)使用RGB_565运挫;使用更嚴(yán)格的縮放標(biāo)準(zhǔn)状共。
- 監(jiān)控重復(fù)圖片∷粒可以借助Matrix去監(jiān)控峡继。
內(nèi)存泄露
- Javan內(nèi)存泄露⌒偻冢可以借助LeakCandy發(fā)現(xiàn)問(wèn)題碾牌;借助Matrix的Resource Candy去監(jiān)控。
- Native內(nèi)存泄露儡循。比較復(fù)雜舶吗,參考:https://mp.weixin.qq.com/s/KtGfi5th-4YHOZsEmTOsjg?