Context

近期实战了下OverDraw,加深了下理解。在上篇文章里Android性能优化Google课程翻译一:Render----OverDraw

写过详细方法。

OverDraw解决方法离不开View。给我的感觉好像是加了层View就会加一层。但本质上如名字OverDraw,还是和Draw有关系。和几层View没关系。

例如以下实例:

Button

例如以下图, 书架和书城是一个Button,然后我把书架的Button

		findViewById(R.id.main_jump_shelf).setBackgroundDrawable(null);

就发现书架少了一层。正常Button绘制了两次。一次是background,第二次是文字。

我猜測在底层应该是刷新了两次????

也就是普通Button 1个View---》2次绘制。

ImageView

而那个分享的图标是ImageView,我给ImageView加上Background就变成2次了。从蓝色变成了绿色。

也就是普通ImageView 1个View----》1次绘制

ImageView加background 1个View-----》2次绘制

TextView

而假设一个TextView指定了大小,可是没有文字。那他就是一次绘制也没有。

也就是普通无文字View----》0次绘制

GLSurfaceView

由于GLSurfaceView特殊,不在View Hierarchy(View的树形结构内),所以他不显示过度绘制。

总结:

也就是说OverDraw。仅仅和绘制有关系,绘制的实际反映是背景色和其它的文字等。View仅仅是这个操作的封装类。看似有一对一的关系。实际上不是。

Android性能优化Google课程翻译一:Render----OverDraw实战的更多相关文章

  1. Android优化—— Google 发布 Android 性能优化典范

    阅读目录 0)Render Performance 1)Understanding Overdraw 2)Understanding VSYNC 3)Tool:Profile GPU Renderin ...

  2. Google 发布 Android 性能优化典范

    2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有 ...

  3. Google 发布的15个 Android 性能优化典范

    2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...

  4. 【转】Google 发布 Android 性能优化典范(比较老,但很实用)

    2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有 ...

  5. (转载)Google 发布 Android 性能优化典范

    2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android  App.课程专题不仅仅介绍了Android系统中 ...

  6. android app性能优化大汇总(google官方Android性能优化典范 - 第2季)

    Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitmap的 ...

  7. Android性能优化典范第一季

    2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...

  8. [Android Pro] Android性能优化典范第一季

    reference to : http://www.cnblogs.com/hanyonglu/p/4244035.html#undefined 2015年伊始,Google发布了关于Android性 ...

  9. [转]Android性能优化典范

    2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...

随机推荐

  1. PAT1031

    一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...

  2. linux 相关知识

    在mac 终端中可以直接访问ssh 命令:ssh root@127.0.0.*  批量删除文件: 当前目录下所有 *.html文件,除了index.html             [root@whr ...

  3. 网络流 24 题汇总(LOJ 上只有 22 题???)

    太裸的我就不放代码了...(黑体字序号的题表示值得注意) 1.搭配飞行员 [LOJ#6000] 二分图最大匹配. 2.太空飞行计划 [LOJ#6001] 最小割常规套路.输出方案.(注:这题换行符要用 ...

  4. Codeforces Round #316 (Div. 2) A 水

    A. Elections time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  5. Android jni 编程入门

    本文将介绍如何使用eclipse和ndk-build来编写一个基于Android4.4版本的包含有.so动态库的安卓程序. 前提是已经安装和配置好了诸如SDK,NDK等编译环境.下面开始编程! 1 程 ...

  6. mybatis 关联查询时,从表只返回第一条记录解决办法

    如果两表联查,主表和明细表的主键都是id的话,明细表的多条只能查询出来第一条. 造成以上情况可能的原因: 1.级联查询的时候,主表和从表有一样的字段名的时候,在mysql上命令查询是没问题的.但在my ...

  7. duilib入门简明教程 -- 前言(1) (转)

    原文转自 :http://www.cnblogs.com/Alberl/p/3341956.html     关于duilib的介绍就不多讲了,一来不熟,二来小伙伴们想必已经对比了多个界面库,也无需赘 ...

  8. Hadoop-hdfs安装与配置

    一.安装要求   安装JDK   yum -y install jdk(或手动安装)  设置namenode节点到datanode节点的免密码登陆   a. 本地免密码登录     # ssh loc ...

  9. Color.FromArgb()方法详解

    关于颜色值的表示 常用的颜色值表示方式有两种,一种是10进制的RGB值表示,如(0,113,255),三个值分别表示(红,绿,蓝):一种是16进制的颜色码表示,如#ff3212.这两种形式在编程中都可 ...

  10. 【linux高级程序设计】(第七章)终端及串口编程 未完成

    一.端口设备类型 1.显示设备基本信息 cat /proc/tty/drivers 里面包括了: 当前终端:/dev/tty 前台控制台终端:/dev/console 用于创建虚拟终端的:/dev/p ...