Activity中UI框架基本概念
2015-07-02 12:37
232 查看
Activity中UI框架基本概念
Activity 是应用程序的基本组成部分,提供了可视的界面,与用户进行交互;
具体Acitivity是怎么样显示这些事视图元素以及响应事件交互的。
PolicyManager.makeNewWindo创建;
View:最基本的UI组件,表示屏幕上的一个矩形区域;
DecorView:是Window中View的RootView,设置窗口属性;
Window:表示顶层窗口,管理界面的显示和事件的响应;每个Activity 均会创建一个
PhoneWindow对象,是Activity和整个View系统交互的接口
WindowManager:一个interface,继承自ViewManager。所在应用进程的窗口管理器;
有一个implementation WindowManagerImpl;
主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。
ViewRoot:通过IWindowSession接口与全局窗口管理器进行交互:界面控制和消息响应;
ActivityThread:应用程序的主线程,其中会创建关联当前Activity与Window;
创建WIndowManager实现类实例,把当前DecoView加入到WindowManager;
相关类结构:
层级关系:
(此图网上盗用...)
Activity 是应用程序的基本组成部分,提供了可视的界面,与用户进行交互;
具体Acitivity是怎么样显示这些事视图元素以及响应事件交互的。
一Activity相关概念
Activity:Activity包含一个Window,该Window在Activity的attach方法中通过调用PolicyManager.makeNewWindo创建;
View:最基本的UI组件,表示屏幕上的一个矩形区域;
DecorView:是Window中View的RootView,设置窗口属性;
Window:表示顶层窗口,管理界面的显示和事件的响应;每个Activity 均会创建一个
PhoneWindow对象,是Activity和整个View系统交互的接口
WindowManager:一个interface,继承自ViewManager。所在应用进程的窗口管理器;
有一个implementation WindowManagerImpl;
主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。
ViewRoot:通过IWindowSession接口与全局窗口管理器进行交互:界面控制和消息响应;
ActivityThread:应用程序的主线程,其中会创建关联当前Activity与Window;
创建WIndowManager实现类实例,把当前DecoView加入到WindowManager;
二 实现流程框架图
Activity上Window的创建关联流程如下:相关类结构:
层级关系:
(此图网上盗用...)
相关文章推荐
- MQTT的学习研究(十六) MQTT的Mosquitto的window安装部署
- MQTT的学习研究(十四) MQTT moquette 的 Callback API 消息发布订阅的实现
- MQTT的学习研究(十二) MQTT moquette 的 Future API 消息发布订阅的实现
- MQTT的学习研究(十)【转】mosquitto——一个开源的mqtt代理
- MUI开发注意事项 Uncaught ReferenceError: plus is not defined
- 小胖说事23-----UICollectionView基础笔记
- 黑马程序员----OC学习笔记之NSNumber和NSValue
- NSInteger 与 NSUInteger 和 int 区别
- UITextView 200字符限制,中文算1个字,英文算0.5个字
- 前端优化:RequireJS Optimizer 的使用和配置方法(二)
- 前端优化:RequireJS Optimizer 的使用和配置方法(一)
- 动态计算UITableViewCell高度详解 -- 学习
- Visual Studio 中项目文件属性的Build action 设置
- BaiduMap---百度地图官方Demo之UI控制功能(介绍开关手势功能和显示隐藏UI控件)
- soapui 免费版 实现 datasource+ dataLoop
- Guice 学习(九) WEB AND SERVLET
- ArduinoYun教程之OpenWrt-Yun与CLI配置Arduino Yun
- easy ui tree 默认选中指定行
- UIlabel特殊属性的使用
- UILabel特殊属性的使用