Android性能优化Google课程翻译一:Render----OverDraw实战

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只是这个操作的封装类,看似有一对一的关系,实际上不是。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 03:37:37

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

Android性能优化Google课程翻译

Context: 我自己写下Google关于Android性能优化的视频课程的翻译,希望转载者不要删除我的博客地址http://blog.csdn.net/zhjali123 术语: 1.texture.meshes.举个例子,做一个飞机模型,你要先雕刻出立体的飞机模型(mesh),但是模型还没有上色,这是你要用张纸把它包起来,在上面画迷彩,这层有迷彩的纸就是(texture,中文叫纹理). Lesson1:Render(渲染) 1.Android设备通常16ms 更新下Activity,具体取

Android性能优化Google课程翻译一:Memory

相关知识: ART:Android从4.4引入了一个ART(Android runtime),之前管理应用的runtime是用的Dalvik. ART增加了预编译.优化GC(如并行处理.压缩GC时间.GC处理最近分配的Object更快...) Memory Leak(内存泄露):内存已经不被使用,但是GC时没有识别出来.导致一直保存,内存无法被释放. Memory,GC,Performance关系: 简单地说Memory会被GC,内存被分割程不同的空间.根据不同的内存分配类型(type of a

Android性能优化Google课程翻译一:Render----OverDraw

Context: 继续上述文章,我们已经知道了如何收集信息找到OverDraw.现在,我们要如何解决呢? 方法: 背景色: 1.去掉多余的背景色: 在onCreate()方法中加入:getWindow().setBackgroundDrawable(null); (我这里北京刚开始是不透明opaque) 2.找到底层View的背景色然后去掉. Clip剪切: Android的系统会对重叠的View进行剪切,只计算显示的部分.然而这个特性并没有很好地拓展到自定义View中,所以你需要自己做些处理.

Oracle数据库性能优化视频课程套餐(案例、实战、详细、全面)

套餐名称: Oracle数据库性能优化视频课程套餐(案例.实战.详细.全面) 套餐介绍: 风哥Oracle数据库性能优化培训套餐(案例.实战.详细.全面),包括内容: Oracle性能优化之执行计划管理.统计信息管理.性能诊断工具.性能跟踪工具.分区表管理.资源管理.操作系统工具.性能调整.物化视图.JOB自动任务管理等,套餐涉及10套课程,60个小时的课程,大量的案例. 套餐地址: http://edu.51cto.com/pack/view/id-974.html

Google 发布 Android 性能优化典范

2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议.主要从三个 方面展开,Android的渲染机制,内存与GC,电量优化.下面是对这些问题和建议的总结梳理. 0)Render Performance 大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能.从设计

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

2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议.主要从三个方面展开,Android的渲染机制,内存与GC,电量优化.下面是对这些问题和建议的总结梳理. 0)Render Performance 大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能.从设计师的

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

Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitmap的缩放,缓存,重用,PNG压缩,自定义View的性能,提升设置alpha之后View的渲染性能,以及Lint,StictMode等等工具的使用技巧. (1)Battery Drain and Networking 对于手机程序,网络操作相对来说是比较耗电的行为.优化网络操作能够显著节约电量的消耗.在性

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

reference to : http://www.cnblogs.com/hanyonglu/p/4244035.html#undefined 2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议. 主要从三个方面展开,Android的渲染机制,内存与GC,电量优化.下

Android性能优化典范(一)

2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议.主要从三个方面展开,Android的渲染机制,内存与GC,电量优化.下面是对这些问题和建议的总结梳理. 0)Render Performance 大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能.从设计师的