android10 wms源码梳理launcher启动-2

在上一节中已经梳理了系统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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值