Android性能优化相关

362 阅读1分钟

1 布局渲染

主要问题: 层级复杂太深,动画,过度绘制,UI线程耗时任务 ,频繁的CG,CPU与GPU性能瓶颈,解析xml耗时。

解决方法:1 减少层级(ConstraintLayout) 

                   2 Merge标签   

                   3 ViewStub延迟View加载

                   4 删除控件中无用属性  

                   5 移除 XML 中非必须的背景 

                   6 自定义View优化,使用 canvas.clipRect()来帮助系统识别那些可见的区域,只有在这个区域内才会被绘制。

                  7 AsyncLayoutInflater,AsyncLayoutInflater是在工作线程中加载布局,加载好后会回调到主线程。

                8 在onDraw中避免创建较大的对象和做耗时的操作等等。

2 内存相关

主要问题:内存抖动、内存泄露、内存溢出。

优化方法: 

内存抖动:1 尽量避免在循环体内创建对象。2 自定义view的onDraw不要创建对象。

内存泄漏:匿名内部类&非静态内部类使用弱引用。Bitmap加载泄漏使用统一的库处理。

3 启动速度优化,耗电优化,安装包大小优化。