Android页面布局优化之ConstraintLayout
2018-03-13 10:26
330 查看
本文不讲怎么使用ConstraintLayout,具体使用可参考我分享的连接,只记录一些过度绘制的基本概念。
什么是过度绘制
怎么查看过度绘制
优化过度绘制
依据过度绘制的层度可以分成:
- 无过度绘制(一个像素只被绘制了一次)
- 过度绘制x1(一个像素被绘制了两次)
- 过度绘制x2(一个像素被绘制了三次)
- 过度绘制x3(一个像素被绘制了四次)
- 过度绘制x4+(一个像素被绘制了五次以上)
Android手机的开发者选项中有『调试 GPU 过度绘制』的选项:
打开开发者选项–>调试GPU过度绘制–>显示过度绘制区域
方法二:通过adb命令开启GPU过度绘制调试
当然,如果每次都进入系统设置嫌麻烦,可以使用adb命令进行开启和关闭:
开启『调试 GPU 过度绘制』:
关闭『调试 GPU 过度绘制』:
执行命令之后可能需要重新启动你当前开发的应用。
颜色与过度绘制:
在平时的开发中,如果出现粉色及以上的过度绘制情况。说明过度绘制以及很严重了。需要进行优化。
1、去除不必要的布局嵌套和背景以及颜色
2、使用ConstraintLayout进行布局优化,
具体优势可以参见解析ConstraintLayout的性能优势
关于ConstraintLayout的使用办法,可参考郭神的博客Android新特性介绍,ConstraintLayout完全解析 这里面讲解的很详细。
什么时候使用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呢?
界面复杂,嵌套多层时,使用时优势比较好。
相关文章推荐
- Android 布局Layout 性能优化<8>
- Android新布局方式ConstraintLayout快速入门教程
- android布局layout的优化及其注意的地方
- Android-Empty-Layout:展示不同类型的页面布局,用于视图是空的时候
- Android新布局值ConstraintLayout(约束布局)
- 【转】 ConstraintLayout 完全解析 快来优化你的布局吧
- Android ConstraintLayout布局详解
- (android之layout)性能优化之布局优化
- Android 约束布局(ConstraintLayout)详解
- 将Android Studio默认布局ConstraintLayout切换成LinearLayout
- Android 入门——ConstraintLayout详解以及使用替代你的常规布局
- android ConstraintLayout约束布局详解
- Android Layout Tricks #3: Optimize with stubs(Android 布局技巧3:使用stub优化)
- Android基础布局之ConstraintLayout
- Android 减少布局层次—— ConstraintLayout 约束布局 的使用
- Android约束布局ConstraintLayout动态设置Id失效问题解决办法
- Android ConstraintLayout 两控件部分相叠兼容布局
- Android 常用布局 LinearLayout+RelativeLayout+FrameLayout+ConstraintLayout
- Android约束布局ConstraintLayout
- Android ConstraintLayout约束布局