掘友等级
获得徽章 0
RootWindowContainer.isInAnyStack(),这函数名能起得再烂点吗!其实就是用token拿到ActivityRecord。非得起这么玄而又玄的名字,是嫌framework不够复杂吗
果然,想弄清楚Activity的堆栈,就得搞定WMS
ActivityRecord和ActivityClientRecord对应,前者在ActivityStarter.excuteRequest里创建,后者在LaunchActivityItem.execute里创建,两者的关联就是ActivityRecord中的Token
system_server进程给自己设置的最大binder线程数为31
ClientTransactionHandler连接了AMS和Activity的整个生命周期的过程管理
#每天一个知识点# AppToken保证了ActivityRecord在不同进程中的唯一性
#每天一个知识点# 非系统级service如何进行binder通信的?
#每天一个知识点# Activity启动过程中,app进程的IApplicationThread对象转换成system_process进程的代理对象的时机在IActivityTaskManager类的onTransact()中
android.app.IApplicationThread.Stub.asInterface(data.readStrongBinder());
#每天一个知识点# Task和Activity跳转的实际效果,是launchMode、taskAffinity、跳转方式、Activity在Task中的层级等属性综合作用的结果
#每天一个知识点# 打印当前运行堆栈的命令 adb shell dumpsys activity activities
下一页