新启动一个app的执行流程图总览
AMS端的逻辑流程
高清图:www.plantuml.com/plantuml/pn…
新进程中创建activity,并执行生命周期
高清图:www.plantuml.com/plantuml/pn…
androidR里面ActivityStack在androidS被去掉了。framework层的继承关系可以参考juejin.cn/post/710833…
ActivityStack就是Task的子类。所以androidS简化了继承关系,减少了层级。有了RootTask和子Task的概念。
系统各容器的关系可以通过adb shell dumpsys activity activities查看
截取了一块,可以看到顶层是TaskDisplayArea。然后下面是四个Task,根据type可以看到一个是standard,一个是home,分别对应我们的app和launcher;还有两个mode=split-screen-primary 和 mode=split-screen-secondary分别对应分屏的栈,系统预留的。
每个task的详细信息通过这个命令也可以看到的。
截取了一个,task信息,内部的activityRecord信息,bound信息等等。很详细 常用的adb命令 参考: juejin.cn/post/708070…