Android 绘制优化

239 阅读1分钟

性能优化是一个庞大的知识体系,它包括绘制优化、内存优化、电量优化、启动优化、存储优化、流量优化、图片优化和 APK 优化。本文主要讲绘制优化。

1. 绘制性能分析

1.1 绘制原理

image.png

View 的绘制流程有 3 个步骤:measure -> layout -> draw

VSYNC:Vertical Synchronization(垂直同步)

image.png

1.2 Profile GPU Rendering

1.3 Systrace

1.3.1 使用 Systrace

1.3.1.1 在 DDMS 中使用 Systrace

1.3.1.2 用命令行使用 Systrace

1.3.1.3 在代码中使用 Systrace

image.png

1.3.2 用 Chrome 分析 Systrace

1.3.2.1 Alert 区域

1.3.2.2 CPU 区域

1.3.3.3 应用区域

1.3.3.4 Alerts 总体分析

1.4 Traceview

image.png

1.4.1 使用 Traceview

image.png

1.4.1.1 DDMS 中使用

1.4.1.2 在代码中加入调试语句

image.png

1.4.2 分析 Traceview

2. 布局优化

一个界面的测量和绘制是通过递归来完成的,减少布局的层数就会减少测量和绘制的时间,从而性能就会得到提升。

2.1 布局优化工具

2.1.1 Hierarchy Viewer

2.1.2 Android Lint

2.2 布局优化方法

2.2.1 合理运用布局

2.2.2 使用 include 标签来进行布局复用

image.png

2.2.3 用 Merge 标签去除多余层级

image.png

image.png

image.png

2.2.4 使用 ViewStub 来提高加载速度

image.png

image.png

image.png

2.3 避免 GPU 过度绘制

image.png

image.png