Android Activity启动流程○
1.Activity的启动
Android系统启动的过程:打开Android手机电源键后,先运行BootLoader,由BootLoader加载Linux内核,之后会启动init进程,init进程会启动Zygote进程,Zygote进程会调用system_server进程,system_server进程会拉起PMS和AMS。AMS会启动Launcher应用,Launcher应用就是Android的桌面应用,用来显示各个应用图标。当用户点击某一个app图标时就会fork一个新的进程,然后启动Activity。
而启动一个Activity,通常有两种情况,一种是在应用内部通过startActivity启动,另一种是通过Launcher启动。
Activity的启动要经过多次IPC,涉及Activity(或Launcher)、AMS、Zygote、新启动的app这4个进程,通过这四个进程的多次IPC通信最终启动一个App,然后启动它的Activity。
点击桌面图标,Launcher会启动程序默认的Activity,这个过程是在Launcher进程中进行的。然后通过binder进入ATMS,在ATMS中为应用的第一个activity创建ActivityRecord,找到其ActivityStack,将ActivityRecord插入到所在的TaskRecord的合适位置。然后通过ActivityManagerInternal::startProcess进入AMS,请求创建应用进程ÿ
Android Activity启动流程○相关推荐
- android activity启动流程_1307页!一线大厂Android面试全套真题解析!
/ 前言 / 金九银十到了,很多读者都反映有面试的需求,所以我特地给大家准备了一点资料! 下面的题目都是大家在面试一线互联网大厂时经常遇到的面试真题和答案解析,如果大家还有其他好的题目或者好的 ...
- android activity启动流程_Activity 启动流程(二)
标签: Activity启动流程 Activity启动时间优化 前一篇文章有介绍Launcher请求AMS过程,参考文章- <Activity 启动流程(一)> 本文将介绍AMS到Appl ...
- Android | Activity 启动流程分析
前言 Activity 类是 android 应用的关键组件,在日常开发中,绝对少不了组件.既然用了这么久,你知道他的启动流程
- 深入分析Android 9.0源代码——Activity启动流程
引言 点击此处查看<深入分析Android 9.0源代码>系列的组织结构和相关说明. 1 应用进程发起启动请求 本章的调用流程如下图所示: (Context) Activity Instr ...
- 【Android 启动过程】Android 应用启动流程 | Activity 启动流程
文章目录 一.Android 系统启动流程 二.Activity 启动流程 一.Android 系统启动流程 打开 Android 手机电源键后 , 先运行 BootLoader , 然后使用 Boo ...
- 【Android 插件化】Hook 插件化框架总结 ( 插件包管理 | Hook Activity 启动流程 | Hook 插件包资源加载 ) ★★★
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- 【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 主线程创建 Activity 实例之前使用插件 Activity 类替换占位的组件 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- 【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | AMS 启动前使用动态代理替换掉插件 Activity 类 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- 【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | 反射获取 IActivityManager 对象 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
最新文章
- python 字符串补齐
- Acwing第 39 场周赛【完结】
- oracle获取序列跳号,Oracle sequence跳号知多少
- 哈佛大学单细胞课程|笔记汇总 (三)
- 实战:基于RabbitMQ的TTL以及死信队列,实现延迟付款,手动补偿案例
- 基于JAVA+SpringMVC+Mybatis+MYSQL的旅游景点门票售票管理系统
- 网络编程之 socket编程
- Spring中的设计模式学习
- 8-06. 畅通project之局部最小花费问题(35)(最小生成树_Prim)(ZJU_PAT)
- 解决百度文档复制时候的vip限制
- rgb24转yuv420P
- 微信小程序地图组件去除iconPath
- Windows系统电脑常用快捷键
- 四种方法获取可执行程序的文件路径(.NET Core / .NET Framework)
- 奶制品生产与销售matlab,奶制品的生产与加工
- 牛客网计算机考研机试真题-abc
- 密码爆破工具:Medusa(美杜莎)-操作说明
- MAX() OVER() 函数
- 他成绩一般,大二却破解世界难题,三院士致信中央,22岁破格成教授
- 【已解决】My97DatePicker日期插件设置默认日期