- Android Fk: Activty管理之token总结
- Android-Fk:[Surface] Android中Sur
- Android-Fk:Android input事件传递及分发总
- Android基础复习——Activity
- Android之activty、service、Broadcas
- Android Fk: Activity的管理结构简洁总结
- Android Fk:【JavaCrash】Android 26
- Android Fk:【Stability】System Wat
- Android Fk: PowerManagerService重
- Android Fk:【Stability】应用FC弹窗流程
Android Fk: Activty管理之token总结
本文的plantuml 源码及draw.io原图提供至百度云链接中,可自行下载修改
链接: https://pan.baidu.com/s/1XdpTxN-rOP4JNht_BzPSRQ 提取码: fsur
高效学习的博客:
Android Fk: Activity的管理AMS中的结构总结 基于Android 9.0: https://blog.csdn.net/TaylorPotter/article/details/88429261
深入理解WindowManagerService:https://blog.csdn.net/wf_fln/article/details/78593080
WindowManagerService的理解:https://blog.csdn.net/ztliduo/article/details/54425089
深入理解Activity——Token之旅:https://blog.csdn.net/guoqifa29/article/details/46819377
Android AMS(六) Activity与WMS的连接过程之AppWindowToken:https://blog.csdn.net/liu362732346/article/details/85336050
一.概述
- Token创建:第一次启动指定Activity时,AMS会去创建ActivityRecord记录该Activity信息,ActivityRecord构造函数里创建一个Token类型对象保存在ActivityRecord.appToken中;
- 传递至WMS:AMS在为启动Activity创建AppWindowContainerController的时候将ActivityRecord中的Token对象加入到WMS中的mTokenMap中
- 传递至ActivityThread:AMS binder调用到LaucherActivity的时将token 传到应用进程并封装成ActivityClientRecord保存在ActivityThread的mActivitys这个Arraymap中
- 添加窗口:应用进程在向WMS 添加窗口的时候会将windowtoken及token传入到WMS中,WMS根据token创建Windowstate对象用于管理窗口
总之windowtoken及appwindowtoken中的token成员变量及是AMS为activity创建的ActivityRecord中的Token对象,该Token对象在应用进程以ActivityClientRecord的形式保存代理,这样,就app,ams,wms就关联起来了指定的Activity,大家就都可以确定当前需要处理,显示等操作的Activity是哪一个。
网友评论