前言
Android性能优化是很重要的一件事情,只有做好的性能方面的优化,用户体验满意度才会有所提升,而且性能优化也是面试中的一大考点
性能优化分类
1.布局优化
2.图片优化
3.数据及列表优化
4.其他优化
布局优化
减少嵌套层级(使用</RelativeLayout>),减少嵌套层级可加快加载效率,
使用style提取相同view的公共属性,减少重复代码
使用</include>标签
使用</merge>标签,防止在引用布局文件时产生多余的布局嵌套
合理使用</ViewStub>,按需加载布局文件,到在使用的时候再加载,提高了程序初始化的性能
图片优化
使用webp格式的图片,压缩图片大小
将大图片进行压缩处理再放到内存中,用到BitmapFactory类
数据及列表优化
listview优化,复用convertView
viewholder类的使用,减少查找控件的次数(findviewbyid()次数),将holder与view绑定来实现(.setTag()、.getTag())
recyclerview优化,recylerview中的notifiChange()方法可以局部刷新
其他优化
同页面数据尽量放在一个接口里面,避免不必要的问题
static使用不当容易造成内存泄漏
一些优化的工具
Android Studio自带的Android Progfiler
参考文档:https://www.jianshu.com/p/e75680772375
LeakCanary框架
参考地址:https://github.com/square/leakcanary