Activity中UI框架基本概念

Activity是应用程序的基本组成部分,提供了可视的界面,与用户进行交互。



1Activity相关概念



Activity:基本的页面单元,Activity包含一个Window, Window上可以绘制各种viewWindowActivityattach方法中通过调用

PolicyManager.makeNewWindo创建;

View:最基本的UI组件,表示屏幕上的一个矩形区域;

Window:表示顶层窗口,管理界面的显示和事件的响应;每个Activity均会创建一个
PhoneWindow
对象,是Activity和整个View系统交互的接口;

PhoneWindow:该类继承于Window类,同时,PhoneWindow类内部包含了一个DecorView对象。简而言之,PhoneWindow是把一个FrameLayout进行了一定的包装,并提供了一组通用的窗口操作接口。

DecorView:是WindowViewRootView,设置窗口属性;该类是一个FrameLayout的子类,并且是PhoneWindow中的一个内部类。Decor的英文是Decoration,即“修饰”的意思,DecorView就是对普通的FrameLayout进行了一定的修饰,比如添加一个通用的Titlebar,并响应特定的按键消息等。

WindowManager:一个interface,继承自ViewManager。所在应用进程的窗口管理器;

有一个implementationWindowManagerImpl

主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。

ViewRoot:它并不是一个View类型,而是一个Handler通过IWindowSession接口与全局窗口管理器进行交互:界面控制和消息响应,它的主要作用如下:

A.DecorView分发收到的用户发起的event事件,如按键,触屏,轨迹球等事件;

B.WindowManagerService交互,完成整个ActivityGUI的绘制

ActivityThread应用程序的主线程,其中会创建关联当前ActivityWindow

创建WIndowManager实现类实例,把当前DecoView加入到WindowManager

2、实现流程框架图



ActivityWindow的创建关联流程如下:

相关类结构:


相关类结构:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值