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. ServletConfig和ServletContext 区别

      ServletConfig和ServletContext 1.ServletContext在整个web应用程序生命周期内存在,用来保存全局对象,整个web应用都可以使用其获取context参数.当 ...

  2. vue-cli 脚手架分析

    Vue-cli 一.安装vue-cli 安装vue-cli的前提是你已经安装了npm,安装npm你可以直接下载node的安装包进行安装.你可以在命令行工具里输入npm -v  检测你是否安装了npm和 ...

  3. bzoj 3101 N皇后构造一种解 数学

    3101: N皇后 Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 70  Solved: 32[Submit][S ...

  4. RSA DSA

    RSA https://blog.csdn.net/sunmenggmail/article/details/11994013 https://baike.baidu.com/item/RSA%E7% ...

  5. node系列

    http://www.cnblogs.com/zhongweiv/p/nodejs.html

  6. Swift实战-单例模式

    设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.GoF提出了23种设计模式,本系列将使用Swift语言来实现这些设计模式 概述 整个应用生命 ...

  7. JavaScript效果下载网站!

    原文发布时间为:2009-07-16 -- 来源于本人的百度文章 [由搬家工具导入] http://myjs.chinaz.com/

  8. <转>JavaScript的IE和火狐的兼容性解决办法

    原文发布时间为:2009-05-06 -- 来源于本人的百度文章 [由搬家工具导入] 1. document.form.item 问题 (1)现有问题: 现有代码中存在许多 document.form ...

  9. pyspider 爬虫教程(一):HTML 和 CSS 选择器

      虽然以前写过 如何抓取WEB页面 和 如何从 WEB 页面中提取信息.但是感觉还是需要一篇 step by step 的教程,不然没有一个总体的认识.不过,没想到这个教程居然会变成一篇译文,在这个 ...

  10. linux下的用户组管理

    用户组管理分两类 如果赋给组什么权限,那么组员就会有什么权限 1.私有组 在创建新用户的时候,就要为用户指定组.如果没有指定,就会默认创建一个与用户名相同的用户组,这个用户组只有该用户一个用户,就被称 ...