window和WindowManager
? ? ? ? Window,表示一个窗口的抽象的概念;同时也是一个抽象类,唯一的实现是PhoneWindow。在PhoneWindow中有一个顶级View—DecorView,继承自FrameLayout,我们可以通过getDecorView()获得它,当我们调用Activity的setContentView时,其实最终会调用Window的setContentView,当我们调用Activity的findViewById时,其实最终调用的是Window的findViewById,这也间接的说明了Window是View的直接管理者。 ? ? ? ?但是Window并不是真实存在的,它更多的表示一种抽象的功能集合,View才是Android中的视图呈现形式,绘制到屏幕上的是View不是Window,但是View不能单独存在,它必需依附在Window这个抽象的概念上面,Android中需要依赖Window提供视图的有Activity,Dialog,Toast,PopupWindow,StatusBarWindow(系统状态栏),输入法窗口等,因此Activity,Dialog等视图都对应着一个Window。
Choreographer
参考文章:
Window和WindowManager--《Android开发艺术探索》阅读笔记——第八章
上面的这个文章是根据《Android开发艺术探索》写的,但是比书写的好一些,书上面有些地方写的不是很清楚,但是这个文章上有说明,
Android窗口机制系列
Android窗口机制(一)初识Android的窗口结构 Android窗口机制(二)Window,PhoneWindow,DecorView,setContentView源码理解 Android窗口机制(三)Window和WindowManager的创建与Activity Android窗口机制(四)ViewRootImpl与View和WindowManager Android窗口机制(五)最终章:WindowManager.LayoutParams和Token以及其他窗口Dialog,Toast
上面写的很详细,可以理解为《Android开发艺术探索》第8章的详细版本;
基础知识:
CPU与GPU工作流程???????
Android屏幕刷新机制
从屏幕的刷新机制来分析
|