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仅仅是这个操作的封装类。看似有一对一的关系。实际上不是。
Android性能优化Google课程翻译一:Render----OverDraw实战的更多相关文章
- Android优化—— Google 发布 Android 性能优化典范
阅读目录 0)Render Performance 1)Understanding Overdraw 2)Understanding VSYNC 3)Tool:Profile GPU Renderin ...
- Google 发布 Android 性能优化典范
2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有 ...
- Google 发布的15个 Android 性能优化典范
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...
- 【转】Google 发布 Android 性能优化典范(比较老,但很实用)
2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有 ...
- (转载)Google 发布 Android 性能优化典范
2015年伊始,Google发布了关于Android性能优化典范的专题, 一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中 ...
- android app性能优化大汇总(google官方Android性能优化典范 - 第2季)
Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitmap的 ...
- Android性能优化典范第一季
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...
- [Android Pro] Android性能优化典范第一季
reference to : http://www.cnblogs.com/hanyonglu/p/4244035.html#undefined 2015年伊始,Google发布了关于Android性 ...
- [转]Android性能优化典范
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...
随机推荐
- C#HTTP POST文件数据
/// <summary> /// 上传文件 /// </summary> /// <param name="uriStr">服务器网址< ...
- 使用CoreLocation进行定位(Swift版)
在应用开发中,很多情况需要我们获取到当前的位置和高度信息,方便搜索周边,查看周边相同应用等,一切与定位有关的都得使用CoreLocation库,而且,系统是不允许第三发定位的,当然可以使用第三方对其封 ...
- [HEOI2016/TJOI2016][bzoj4554] 游戏 [建图+最大流]
题面 传送门 思路 看到棋盘摆放和棋子冲突,再加上这么小的数据范围,你能想到什么? 网络流棋盘模型啊! 就是 把源点连到每一行,每一列连到汇点,再在中间...... 等等,这道题每行不一定全部冲突?? ...
- border-radius元素overflow:hidden失效问题
父元素使用border-radius和overflow:hidden做成圆形,子元素如果使用了transform属性,则父元素的overflow:hidden会失效. 解决方法: 父元素使用 -wei ...
- 关于5Gwifi
但目前全球最快的WiFi传输速度仅为300Mbps(少数可以达到600Mbps),相当于每秒只能传输约36MB的内容.在人们只利用它来看网站.处理邮件的年代,这没什么问题.但到了今天,面对越来越复杂的 ...
- webRTC实战总结
前言 前段时间一直在忙一个基于WebRTC的PC和移动端双向视频的项目.第一次接触webRTC,难免遇到了许多问题,比如:webRTC移动端兼容性检测,如何配置MediaStreamConstrain ...
- Magenta源代码笔记(3) —— 内存管理【转】
转自:http://blog.csdn.net/boymax2/article/details/52550197 版权声明:本文为博主原创文章,未经博主允许不得转载. Magenta内核支持虚拟地址的 ...
- Selenium2+python自动化(学习笔记2)
from selenium import webdriverdriver = webdriver.Ie()driver.get=("http://www.baidu.com")dr ...
- 安装聊天软件telegram-cli
Telegram是一款加密通信的聊天软件,可以在linux,windows,android,chrome等运行.官方网址:https://telegram.org/ 它是有桌面版的,但作为一个linu ...
- Break Number --AtCoder
题目描述 Takahashi loves numbers divisible by 2.You are given a positive integer N. Among the integers b ...