本篇针对Surface模块进行分析,从Java层的Activity创建开始,到ViewRoot、WindowsManagerService,再到JNI层和Native层。 首先推荐一个Android源码查看的网站:http://androidxref.com/ Surface的创建涉及三个部分: A ...
分类:
移动开发 时间:
2018-10-26 20:39:11
阅读次数:
229
Android面试收集录11 Window+Activity+DecorView+ViewRoot之间的关系 ...
分类:
移动开发 时间:
2018-02-20 19:21:19
阅读次数:
279
参考资料<<Android开发艺术探索>>前言在日常开发中,我们每天都在和各种View打交道,比如TextView,Button等,我们直接拿过来就可以使用,那么Android是怎么把View绘制到屏幕上呢,接下来我们结合源码来具体分析。在具体结合源码分析前,先了解一个比较重要的概念ViewRootViewRoot先看一张图Android窗口构成图解ViewRoot对应于V
分类:
移动开发 时间:
2018-01-19 15:37:32
阅读次数:
264
1. ViewRoot和DecorView ViewRoot对应于ViewRootImpl类,它连接WindowManager和DecorView。View的绘制流程从ViewRoot的performTraversals开始,经过measure,layout和draw过程。 Measure决定了Vi ...
分类:
其他好文 时间:
2017-12-10 17:08:07
阅读次数:
118
《深入理解Android 卷III》即将公布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewR ...
分类:
移动开发 时间:
2017-06-25 22:08:10
阅读次数:
420
(1)View:最主要的UI组件,表示屏幕上的一个矩形区域。 (2)Window: 表示一个窗体,不一定有屏幕那么大,能够非常大也能够非常小; 它包括一个View tree和窗体的layout 參数。 View tree的root View能够通过getDecorView得到。还能够设置Window ...
分类:
移动开发 时间:
2017-06-12 14:45:54
阅读次数:
299
一、View转换为Bitmap 在Android中所有的控件都是View的直接子类或者间接子类,通过它们可以组成丰富的UI界面。在窗口显示的时候Android会把这些控件都加载到内存中,形成一个以ViewRoot为根节点的控件树,然后由根节点开始逐级把控件绘制到屏幕上。 可以通过调用控件的setDr ...
分类:
其他好文 时间:
2017-05-11 19:31:22
阅读次数:
258
1.View的绘制流程分几步,从哪开始?哪个过程结束以后能看到view? 答:从ViewRoot的performTraversals开始,经过measure,layout,draw 三个流程。draw流程结束以后就可以在屏幕上看到view了。 2.view的测量宽高和实际宽高有区别吗? 答:基本上百 ...
分类:
移动开发 时间:
2017-05-05 19:25:23
阅读次数:
204
Touch事件和绘制事件的异同之处Touch事件和绘制事件很类似,都是由ViewRoot派发下来的,但是不同之处在绘制事件是由应用中的某个View发起请求,一层一层上传到ViewRoot,再有View...
分类:
移动开发 时间:
2017-03-02 18:28:07
阅读次数:
315
View 绘制机制 当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由 Android framework 处理.绘制是从根节点开始,对布局树进行 measure 和 draw。整个 View 树的绘图流程在ViewRoot.java类的performTraversals()函数展 ...
分类:
其他好文 时间:
2016-12-29 10:38:28
阅读次数:
227