概述

今天学习App的优化,转载几篇别人的文章,方便自己的学习,顺便自己总结一下

​​Android性能优化之GPU过度绘制与图形渲染优化​​

​​你真的了解过度绘制吗​​

GPU过渡绘制


接下来总结一下过度绘制的优化措施


1.在Theme中给activity设置背景,这样不算一次绘制,可以减少层级


2.减少不必要的背景,可以减少层级,如果一个View和它的Layout有相同的背景,则指定一个


3.删除无用的子节点,父节点


4.每个没有和布局属性的根布局,使用merge代替


5.避免在LinearLayout中多次使用layout_weight


6.Canvas画图时,只画显示范围内的区域


当我们在自定义View的时候,可能会出现图片重叠导致Overdraw,当我们使用canvas.clipRect(),会提高性能,另外,在onDraw方法里面尽量不要有耗时操作,我们可以通过canvas.clipRect()来 帮助系统识别那些可见的区域。这个方法可以指定一块矩形区域,只有在这个区域内才会被绘制,其他的区域会被忽视。这个API可以很好的帮助那些有多组重叠 组件的自定义View来控制显示的区域。同时clipRect方法还可以帮助节约CPU与GPU资源,在clipRect区域之外的绘制指令都不会被执行,那些部分内容在矩形区域内的组件,仍然会得到绘制。




GPU呈现模式分析


​android性能跟踪分析工具系列 - GPU 呈现模式分析​