您的位置:首页 > 移动开发 > Android开发

Android页面布局优化之ConstraintLayout

2018-03-13 10:26 330 查看
本文不讲怎么使用ConstraintLayout,具体使用可参考我分享的连接,只记录一些过度绘制的基本概念。

什么是过度绘制

怎么查看过度绘制

优化过度绘制

一、什么是过度绘制

过度绘制:屏幕上某一像素点在一帧中被重复绘制多次,就是过度绘制。

依据过度绘制的层度可以分成:

- 无过度绘制(一个像素只被绘制了一次)

- 过度绘制x1(一个像素被绘制了两次)

- 过度绘制x2(一个像素被绘制了三次)

- 过度绘制x3(一个像素被绘制了四次)

- 过度绘制x4+(一个像素被绘制了五次以上)

二、怎么查看过度绘制

方法一:通过开发者选项开启GPU过度绘制调试

Android手机的开发者选项中有『调试 GPU 过度绘制』的选项:

打开开发者选项–>调试GPU过度绘制–>显示过度绘制区域

方法二:通过adb命令开启GPU过度绘制调试

当然,如果每次都进入系统设置嫌麻烦,可以使用adb命令进行开启和关闭:

开启『调试 GPU 过度绘制』:

adb shell setprop debug.hwui.overdraw show


关闭『调试 GPU 过度绘制』:

adb shell setprop debug.hwui.overdraw false


执行命令之后可能需要重新启动你当前开发的应用。

颜色与过度绘制:

原色:没有过度绘制
蓝色:1 次过度绘制
绿色:2 次过度绘制
粉色:3 次过度绘制
红色:4 次及以上过度绘制


在平时的开发中,如果出现粉色及以上的过度绘制情况。说明过度绘制以及很严重了。需要进行优化。

三、优化过度绘制

由于过度绘制主要原因是布局嵌套,导致多次测量和绘制,

1、去除不必要的布局嵌套和背景以及颜色

2、使用ConstraintLayout进行布局优化,

具体优势可以参见解析ConstraintLayout的性能优势

关于ConstraintLayout的使用办法,可参考郭神的博客Android新特性介绍,ConstraintLayout完全解析 这里面讲解的很详细。

什么时候使用ConstraintLayout呢?

界面复杂,嵌套多层时,使用时优势比较好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: