移动端系统资源分析---CPU统计
CPU 与GPU的关系
移动端有CPU和GPU,图形API不允许CPU直接与GPU通信,通过中间层来连接这两部分。
简单来说:就是中间层维护一个队列,CPU把display list放入队列,GPU从队列取数据进行绘制。
GPU渲染工具
Android 开发者工具提供性能调优工具:GPU渲染分析
需打开开发者选项,可以用模拟器去练习
GPR显示内容
- 绘制每一帧所消耗的时间
- 不同的颜色代表UI绘制的不同阶段
- 并且在柱状图的中间有一根绿色的横线代表16ms的绘制时间基准
- GRP会统计并显示app最近运行的128帧
显示解析
蓝色
view需要先转换为GPU能识别的格式
蓝色较高
View失效(invalidate)
OnDraw函数中做了复杂的绘制逻辑
红色
OpenGL处理DISPLAYLIST,将处理结果传递给GPU
红色较高
View过于复杂
View重复提交
橙色
CPU在等待GPU完成工作
橙色较高
GPU任务太多,复杂的view绘制
具体细节建议参考:developer.android.com