在上一节中已经梳理了系统Ui绘制
应用视图

`DecorView` 是 Android 应用窗口的最顶层视图(root view)
ViewStub` 初始时不会加载占用资源,它仅在调用 `inflate()` 方法时才会被替换为实际的视图。 - 一旦 `ViewStub` 被替换或扩展,`ViewStub` 本身将被从视图层次中移除,不再存在
`ContentParent` 通常指的是 `DecorView` 中用于容纳应用内容视图的部分。它通常是 `DecorView` 的子视图,用于承载通过 `setContentView()` 设置的布局。
以 launcher 应用程序为例
launcher启动
SystemServer 拉起各种server 其中就有ActivityManagerService
public final class SystemServer implements Dumpable {private void run() { ...其他省略 t.traceBegin("StartServices"); //启动一些核心的services startBootstrapServices(t); startCoreServices(t); //启动一些其他的service 比如systemUI,lanuncer startOtherServices(t); startApexServices(t); }private void startBootstrapServices(@NonNull TimingsTraceAndSlog t) { ....省略 //开启StartActivityManager t.traceBegin("StartActivityManager"); // 创建一个ActivityTaskManagerService-->10版本以后引入主要用于分担ActivityManagerService部分功能 ActivityTaskManagerService atm = mSystemServiceManager.startService( ActivityTaskManagerService.Lifecycle.class).getService(); //开始创建 mActivityManagerService = ActivityManagerService.Lifecycle.startService( mSystemServiceManager, atm); mActivityManagerService.setSystemServiceManager(mSystemServiceManager); mActivityManagerService.setInstaller(installer); mWindowManagerGlobalLock = atm.getGlobalLock(); t.traceEnd();
} }private void startOtherServices(@NonNull TimingsTraceAndSlog t) {//告诉可以运用第三方的代码activity mActivityManagerService.systemReady(() -> { } //这里会添加一个默认的home视图 //最终调用RootActivityContai

最低0.47元/天 解锁文章
1019

被折叠的 条评论
为什么被折叠?



