前言
Android性能優(yōu)化是很重要的一件事情,只有做好的性能方面的優(yōu)化,用戶體驗滿意度才會有所提升,而且性能優(yōu)化也是面試中的一大考點(diǎn)
性能優(yōu)化分類
1.布局優(yōu)化
2.圖片優(yōu)化
3.數(shù)據(jù)及列表優(yōu)化
4.其他優(yōu)化
布局優(yōu)化
減少嵌套層級(使用</RelativeLayout>),減少嵌套層級可加快加載效率间驮,
使用style提取相同view的公共屬性,減少重復(fù)代碼
使用</include>標(biāo)簽
使用</merge>標(biāo)簽,防止在引用布局文件時產(chǎn)生多余的布局嵌套
合理使用</ViewStub>,按需加載布局文件,到在使用的時候再加載牙甫,提高了程序初始化的性能
圖片優(yōu)化
使用webp格式的圖片,壓縮圖片大小
將大圖片進(jìn)行壓縮處理再放到內(nèi)存中,用到BitmapFactory類
數(shù)據(jù)及列表優(yōu)化
listview優(yōu)化,復(fù)用convertView
viewholder類的使用狭郑,減少查找控件的次數(shù)(findviewbyid()次數(shù))腹暖,將holder與view綁定來實現(xiàn)(.setTag()、.getTag())
recyclerview優(yōu)化,recylerview中的notifiChange()方法可以局部刷新
其他優(yōu)化
同頁面數(shù)據(jù)盡量放在一個接口里面,避免不必要的問題
static使用不當(dāng)容易造成內(nèi)存泄漏
一些優(yōu)化的工具
Android Studio自帶的Android Progfiler
參考文檔:http://www.reibang.com/p/e75680772375
LeakCanary框架
參考地址:https://github.com/square/leakcanary