Android性能优化主要从卡顿、内存泄漏和崩溃、代码质量和逻辑、安装包过大四方面入手。在使用时避免出现卡顿,响应速度快,减少用户等待的时间,满足用户期望;同时减低 crash 率和 ANR 率,不要在用户使用过程中崩溃和无响应;节省流量和耗电,减少用户使用成本,避免使用时导致手机发烫;安装包小可以降低用户的安装成本。
1、卡顿优化
Android 系统每隔 16ms 发出 VSYNC 信号,触发对 UI 进行渲染,如果每次渲染都成功,这样就能够达到流畅的画面所需的 60FPS。在理想情况下,60 FPS 就感觉不到卡,这意味着每个绘制时长应该在16 ms 左右。如果某个操作花费的时间是 24ms ,系统在得到 VSYNC 信号时就无法正常进行正常渲染,这样就发生了丢帧现象。也就是延迟了。
布局优化:
-
合理使用背景色,避免重复绘制背景色,例如:父布局和子布局的背景色一样的,子布局无需在设背景色,父布局设置即可
-
减少布局嵌套,一般不建议超过5层,google推出ConstraintLayout可以使用
-
合理使用 include、merge 和 ViewStub,使用include和merge增加复用,减少层级; ViewStub 按需加载
-
尽可能少用wrap_content。wrap_content 会增加布局 measure 时计算成本,在已知宽高为固定值时,不用wrap_content
-
删除控件中无用的属性
**绘制优化:**在onDraw中不要创建嵌套对