3.UI层优化之减少过度绘制

参考

一.打开 “调试过渡绘制”

打开"调试过渡绘制"过后,会在界面上显示颜色,不同颜色表示该像素点的绘制次数
<img src="https://developer.android.com/studio/images/profile/gpu/gpu-overdraw-before_2x.png?hl=zh-cn" width = "300" height = "300" alt="图片名称" align=center />

颜色 过渡绘制的次数 像素点绘制的次数 可接受区域
无色 0 1 全局
[站外图片上传中...(image-c52944-1522290499824)]蓝色 1 2 大片
[站外图片上传中...(image-429538-1522290499824)]绿色 2 3 中等
[站外图片上传中...(image-5759e1-1522290499824)]浅红 3 4 少,小
[站外图片上传中...(image-41d810-1522290499824)]红色 4 5

二.减少绘制次数

  1. 去掉系统的默认背景
     this.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
    
  2. 去掉控件多余的背景

例如

一个详情页

  1. 原来的红圈的部分是绿色(过渡绘制2次)

    image.png

  2. 去掉系统的默认背景后,红圈的部分是蓝色(过渡绘制1次)

    image.png

  3. 去掉控件多余的背景色后,红圈的部分是白色(没有过渡绘制)

    image.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,475评论 25 709
  • 什么是过度绘制(OverDraw) 在多层次重叠的UI结构里面,如果不可见的UI也在做绘制的操作,会导致某些像素区...
    Rave_Tian阅读 13,051评论 2 29
  • 我是一名标准的北漂一族.已经来首都7个年头了.经历过最初“站住脚”的迷茫,也经历了“世态炎凉”的悲伤,好在每一个回...
    森小桃阅读 975评论 0 0
  • 晚上的时候去见了小伙伴,她带了雪碧,我为自己找理由,我只想喝百世可乐,谁知这傻孩子傻不愣登的跑了 好多路,只为...
    霍九心阅读 2,999评论 1 0
  • 作者:【美】莫提默·J. 艾德勒、查尔斯·范多伦 简单概括:该书从主动阅读及阅读目的谈起,进而到阅读的四个阶段,即...
    我的主业是分享阅读 2,415评论 0 1