一、卡顿优化
启动卡顿优化
现象:启动慢,启动白屏,启动黑屏
1、不要在oncreate中做耗时操作
2、不要在application中做耗时操作
3、布局要浅,避免过度绘制,如果布局实在是复杂,用Constraintlayout
开发者选项中有调试GPU过度渲染工具。
颜色:蓝色<浅绿<浅红<深红
分别代表:绘制一次<绘制两次<绘制三次<绘制四次及以上
4、如果加载的实在是多,就分步加载,放到子线程,加载一部分回调一部分刷新主线程数据
白色主题耗时多就白屏,黑色主题耗时多就黑屏
运行时卡顿优化
1、耗时操作不要放在主线程
2、自定义控件ondraw中不要做耗时操作,1000ms / 60帧 = 16.6666... 如果16ms的时间没来得及绘制就掉帧,表现为卡顿
二、内存优化
传送门:https://blog.csdn.net/zhangzhuo1024/article/details/89599446
三、apk体积优化
1、冗余代码删除。随着项目功能修改,会有很多冗余的废代码,及时删除
2、冗余资源删除。没有用的图片,布局全部删除;androidstudio 文件夹右键->Refactor->Remove Unused Resource.
3、图片优化。传送门:https://blog.csdn.net/zhangzhuo1024/article/details/104263941
4、减少三方框架、三方库的引用。三方框架只使用其中某个功能,尽量引用小库,不要使用全库;多处使用时保证库的统一,不要用多个库实现类似的功能,如图片加载一处使用glide,一处使用picasso
四、电量优化/功耗分析
1、不要常驻后台;
2、非必须不要设置常亮,使用完后清除常亮标记
3、谨慎使用wakeLock,wakeLock锁被应用持有,手机就不会进入休眠状态持续耗电。所以前台应用不要申请,后台应用非必选申请时需要设置超时参数,超时自动释放;后台应用运行结束时及时释放。
4、网络、蓝牙、传感器、定位都是耗电大户,非必须不使用,使用后及时断开;定位要求不高的话不要使用gps,gps定位比移动数据定位耗电多