Android中间层分析1.【AMS】进程的启动-概述

我们知道进程的启动,最终都会进入到startProcessLocked函数中,如图我们看下有几种情况

在这里插入图片描述
首先们关注有四个startProcessLocked接口重载的情况。但是他们最终都会调到统一的startProcessLocked。也就是最末尾的函数。

下面一一介绍几种进程启动的情况:
1、LocalService.startIsolatedProcess---->ams.startIsolatedProcess
ams为应用提供的local service 服务。启动一个孤立的进程。
2、ams.bindBackupAgent
ams为备份应用特殊进程,提供的服务。在android4.4之前这个接口还产生过一个严重的漏洞。具体是怎么应用这个漏洞的大家可以百度。
3、ams.getContentProviderImpl、BroadcastQueue.processNextBroadcast、ActivityStackSupervisor.startSpecificAcitivityLocked 和 ActiveServices.bringUpServiceLocked
这个就是四大组件了。我们后面会分析到各个组件启动的过程。
4、ams.attachApplication
应用在启动activityThead和建立appcationThread过程中对进程的启动
5、ams.cleanUpApplicationRecordLocked
在清除一些应用进程的过程中,会对一些特殊的应用,一般是presistent的应用进行重启。
6、ams.finishBooting
在系统启动完成前,有些应用进程想要起来,会加入到holdOnProcess 列表中,系统启动完成后,会统一对这些应用进行启动
7、addAppLocked
也是对presistent的应用特殊处理。

相关文章

Android中间层分析1.【AMS】进程的启动-startProcessLocked函数分析
Android中间层分析1.【AMS】进程的启动-Process.start分析
Android中间层分析1.【AMS】进程的启动-startservice启动分析
Android中间层分析1.【AMS】进程的启动-广播的注册和发送

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沈万三djh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值