Activity中UI框架基本概念
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的創建關聯流程如下:
相關類結構:
層級關系:
(此圖網上盜用...)