手机优酷为什么会卡顿顿

欢迎来到DCIM产品官方网站,、
数据中心可视化
[查看详情]
[查看详情]
[查看详情]
[查看详情]
~description~[]
[查看详情]
免费咨询机房建设机房设计相关问题当前位置:
用两张图告诉你,为什么你的App会卡顿?
从这篇文章中你能获得这些料:
知道setContentView()之后发生了什么?
知道Android究竟是如何在屏幕上显示我们期望的画面的?
对Android的视图架构有整体把握。
学会从根源处分析画面卡顿的原因。
掌握如何编写一个流畅的App的技巧。
从源码中学习Android的细想。
收获两张自制图,帮助你理解Android的视图架构。
这个图可能和伙伴们在书上或者网上常见的不太一样,为什么不太一样呢?因为是我自己画的,哈哈哈...
下面就来看着图捋一捋Android最基本的视图框架。
PhoneWindow
估计很多同学都知道,每一个Activity都拥有一个Window对象的实例。这个实例实际是PhoneWindow类型的。那么PhoneWindow从名字很容易看出,它应该是Window的儿子(即子类)!
知识点:每一个Activity都有一个PhoneWindow对象。
那么,PhoneWindow有什么用呢?它在Activity充当什么角色呢?下面我就姑且把PhoneWindow等同于Window来称呼吧。
Window从字面看它是一个窗口,意思和PC上的窗口概念有点像。但也不是那么准确。看图说。可以看到,我们要显示的布局是被放到它的属性mDecor中的,这个mDecor就是DecorView的一个实例。下面会专门撸DecorView,现在先把关注点放到Window上。Window还有一个比较重要的属性mWindowManager,它是WindowManager(这是个接口)的一个实现类的一个实例。我们平时通过getWindowManager()方法获得的东西就是这个mWindowManager。顾名思义,它是Window的管理者,负责管理着窗口及其中显示的内容。它的实际实现类是WindowManagerImpl。可能童鞋们现在正在PhoneWindow中寻找着这个mWindowManager是在哪里实例化的,是不是上下来回滚动着这个类都找不见?STOP!mWindowManager是在它爹那里就实例化好的。下面代码是在Window.java中的。
public void setWindowManager(WindowManager wm,
IBinder appToken,
String appName,
boolean hardwareAccelerated) {
if (wm == null) {
wm = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
//获取了一个WindowManager
mWindowManager = ((WindowManagerImpl)wm).createLocalWindowManager(this);
//通过这里我们可以知道,上面获取到的wm实际是WindowManagerImpl类型的。
通过上面的介绍,我们已经知道了Window中有负责承载布局的DecorView,有负责管理的WindowManager(事实上它只是个代理,后面会讲它代理的是谁)。
前面提到过,在Activity的onCreate()中通过setContentView()设置的布局实际是被放到DecorView中的。我们在图中找到DecorView。
从图中可以看到,DecorView继承了FrameLayout,并且一般情况下,它会在先添加一个预设的布局。比如DecorCaptionView,它是从上到下放置自己的子布局的,相当于一个LinearLayout。通常它会有一个标题栏,然后有一个容纳内容的mContentRoot,这个布局的类型视情况而定。我们希望显示的布局就是放到了mContentRoot中。
知识点:通过setContentView()设置的布局是被放到DecorView中,DecorView是视图树的最顶层。
WindowManager
前面已经提到过,WindowManager在Window中具有很重要的作用。我们先在图中找到它。这里需要先说明一点,在PhoneWindow中的mWindowManager实际是WindowManagerImpl类型的。WindowManagerImpl自然就是接口WindowManager的一个实现类喽。这一点是我没有在图中反映的。百度--您的访问出错了
&您的访问出错了
很抱歉,您要访问的页面不存在。
请检查您输入的网址是否正确。
如果您不能确认您输入的网址,请浏览页面,来查看您所要访问的网址。
直接输入要访问的内容进行搜索:
如还有疑问请访问获得解决方法
&2013 Baidu联系方式请留下您的联系方式方便我们沟通确认必填项,请输入正确的QQ号必填项,请输入正确的手机号必填项,请输入正确的邮箱确定亲,要输入内容才能提交哦~感谢您的支持,我们会尽快核实~当前位置 & &
& 安卓手机为什么会卡顿?华为:原因在内存!
安卓手机为什么会卡顿?华为:原因在内存!
20:35:26&&出处:快科技 作者:
编辑:万南 &&)
让小伙伴们也看看:
阅读更多:
好文共享:
文章观点支持
文章价值打分
当前文章打分0 分,共有0人打分
[03-29][03-29][03-29][03-28][03-28][03-28][03-28][03-28][03-27][03-27]
登录驱动之家
没有帐号?
用合作网站帐户直接登录iPhone用久了一样会卡顿,教你几个让手机流畅的小技巧_腾讯视频
三倍流畅播放
1080P蓝光画质
新剧提前看
1080P蓝光画质
纯净式无框播放器
三倍流畅播放
扫一扫 手机继续看
下载需先安装客户端
{clientText}
客户端特权:
3倍流畅播放
当前播放至 {time}
扫一扫 手机继续看
虽然苹果系统在优化上做的比安卓好,但用久了,一样会出现卡顿的问题;今天小编就分享几个可以减少苹果卡顿的小技巧,打开设置
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要
副标题要不要

我要回帖

更多关于 vga接口 的文章

 

随机推荐