
Android启动过程
万子开发
追求技术,追求进步
展开
-
Android启动过程(三)ActivityManagerService----2
Android启动过程(三)ActivityManagerService----1继续上一篇 Step3@startActivityLocked(1),如果此时还没有找到合适的目标Activity来处理Intent,或者这个目标的ActivityInfo为空,都说明这个Intent 没有办法继续处理了,因此程序会直接报错返回。 Step4@startActivityLocked(1),上面的判断通过后,还需要检查调用者是否有权限来启动指定的Activity。具体如下所示 /frameworks/ba.原创 2020-09-09 10:33:08 · 337 阅读 · 0 评论 -
Android启动过程(三)ActivityManagerService----1
首先AMS是什么? ActivityManagerService (AMS)是Android提供的一个用于管理Activity(和其他组件)运行状态的系统流程,也是我们编写APK应用程序时使用最频繁的一个系统服务。 AMS功能概述 首先对AMS的功能进程整体概述,从而为后面分析其内部实现打下基础。 ActivityStack 理解了AMS所需完成的功能后,我们会深入代码层来讲解它们的实现--其中最重要的两个核心就是ActivityStack和ActivityTask。 从名称可以看出,Activ原创 2020-09-08 10:29:20 · 385 阅读 · 0 评论 -
Android启动过程(二)SystemServer
SystemServer -----Android 的“系统服务” SystemServer 是Android进入Launcher前的最后的准备。由名称就可以看出来,它提供了众多由java语言编写的“系统服务”。 由上一篇文章可知,一旦我们在init.rc中为Zyogte指定了启动参数--start-system-server,那么ZygoteInit就会调用startSystemServer来进入SystemServer。而且系统服务又分别分为Java层和本地层两类。其中Native层服务的实现体现在原创 2020-09-04 14:22:14 · 289 阅读 · 0 评论 -
Android启动过程(一)
安卓架构图 (转自:https://www.jianshu.com/p/657336b545bd) loader>kernel>native>framework>app 作为安卓的第一个进程init(pid =1),init将通过解析init.rc来陆续启动其他关键服务进程(ServiceManager,Zygote和SystemServer) 如果你本地看不了源码的话,可以通过在线查看源码(https://www.androidos.net.cn/android/5原创 2020-09-03 16:39:41 · 889 阅读 · 0 评论