Android 之Activity , Window和View
2014-02-25 21:39
323 查看
跟踪Activity的源码就会发现:
Activity.attch() -> PolicyManager -> Policy -> PhoneWindow -> mLayoutInflater.inflate()&mContentParent.addView()
这只是一个简单的跟踪过程描述。通过跟踪源代码,就可以很清晰的看出他们三者的关系。
Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图)
LayoutInflater像剪刀,Xml配置像窗花图纸。
1)一个Activity构造的时候会初始化一个Window,准确的说是PhoneWindow。
2)这个PhoneWindow有一个“ViewRoot”,引号是说其实这个“ViewRoot”是一个View或者说ViewGroup,是最初始的根视图。
3)“ViewRoot”通过addView方法来一个个的添加View。比如TextView,Button等
4)这些View的事件监听,是由WindowManagerService来接受消息,并且回调Activity函数。比如onClickListener,onKeyDown等
Activity是android的显示视图么?
Activity.attch() -> PolicyManager -> Policy -> PhoneWindow -> mLayoutInflater.inflate()&mContentParent.addView()
这只是一个简单的跟踪过程描述。通过跟踪源代码,就可以很清晰的看出他们三者的关系。
Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图)
LayoutInflater像剪刀,Xml配置像窗花图纸。
1)一个Activity构造的时候会初始化一个Window,准确的说是PhoneWindow。
2)这个PhoneWindow有一个“ViewRoot”,引号是说其实这个“ViewRoot”是一个View或者说ViewGroup,是最初始的根视图。
3)“ViewRoot”通过addView方法来一个个的添加View。比如TextView,Button等
4)这些View的事件监听,是由WindowManagerService来接受消息,并且回调Activity函数。比如onClickListener,onKeyDown等
Activity是android的显示视图么?
相关文章推荐
- DRM in Android
- 关于android快速开发框架
- android客户端和服务器实现传图片和文件
- android---autoCompleteTextView
- Android学习笔记之SimpleAdapter
- Android Camera Framework
- Android 动画
- Android四大组件简述之BroadcastReceiver
- androidgroup
- 设置android的布局文件的背景颜色为黑色
- 【Android开发那点破事】Android调试安装出现2个或2个以上图标
- android学习日记10--裁剪区域
- 大话无线客户端安全之数据存储安全——Android篇
- Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图
- 判断Intent服务是否存在
- android环境搭建
- android 源码下载
- android核心分析--转
- android run process
- android卸载应用的进度条