Android之ActivityManagerService启动详解
Android 详解 启动
2023-09-27 14:22:49 时间
ActivityManagerService,简称AMS,具有管理Activity行为、控制activity的生命周期、派发消息事件、内存管理等功能,AMS的另外两个重要概念是两大核心功能是WindowManagerService.java和View.java。
分析ActivityManagerService的流程之前需要先下载Android的系统源码,相关下载可以参照下面的文章:中国大陆如何下载 Android 源码
用户从Launcher程序点击应用图标可启动应用的入口Activity,Activity启动时需要多个进程之间的交互,如下图所示。
其中,AMS进程实际上是SystemServer进程,因为AMS只是SystemServer启动的一个服务而已,运行在SystemServer的某个线程中。
具体的,用户在Launcher程序里点击应用图标时,会通知ActivityManagerService启动应用的主Activity,ActivityManagerService发现这个应用还未启动,则会通知Zygote进程执行ActivityThread的main方法。应用进程接下来通知ActivityManagerService应用进程已启动,ActivityManagerService保存应用进程的一个代理对象,这样ActivityManagerService可以通过这个代理对象控制应用进程,然后ActivityManagerService通知应用进程创建主Activity的实例,并执行它的生命周期方法,也就是诸如OnCreadte()等方法。
相关文章
- Android Study之findViewById变迁之路
- 【Android开发经验】android:windowSoftInputMode属性具体解释
- Android热插拔事件处理详解
- React Native和Android整合详解
- 2021年Android开发者跳槽指南,实战篇
- 1-3年Android开发工程师面试经验分享,知乎上已获万赞
- Android SimpleAdapter源码详解
- Android Studio应用开发实战详解
- Android EditText详解
- WebRTC编译Android
- 给 Android 开发者的 RxJava 详解
- Android 自定义录音、播放动画View,让你的录音浪起来
- Android JetPack之启动优化StartUp初始化组件的详解和使用
- 【3】android 四大组件详解
- Android 消息通知栏用法详解(二) 适配8.0
- Android中内容观察者的使用---- ContentObserver类详解
- Android中SQLite应用详解
- 7.Android-压力测试、单元测试、日志猫使用
- Android.mk 详解
- 我的Android进阶之旅------>android视频播放只有声音无画面的解决办法
- 我的Android进阶之旅------>Android中解析XML 技术详解---->SAX解析、DOM解析、PULL解析
- Android eclipse 程序调试