Activity跨进程启动
- 请求进程A通过startActivity方法调用AMP
 - system_server进程中的AMS执行:
- 解析Activity信息(androidManifest.xml)
 - 处理启动参数
 - 启动目标进程
 - 绑定新进程
 - 调用ATP(ApplicationThread代理)
 
 - 目标进程B通过ApplicationThread调用ActivityThread,最终启动Activity的生命周期
 
AMP -> AMS 以及 ATP -> ApplicationThread都是通过binder进行通信的
Activity进程内启动
- 请求进程A通过startActivity方法调用AMP
 - system_server进程中的AMS执行:
- 解析Activity信息(androidManifest.xml)
 - 处理启动参数
 - 调用ATP(ApplicationThread代理)
 
 - 进程A过ApplicationThread调用ActivityThread,最终启动Activity的生命周期
 
Activity的参数传递
1  | graph LR  | 
- 大小受缓冲区大小限制
 - 数据必须可以序列化
 
解决办法:
1  | graph LR  | 
Activity之间的数据传递不能太大
Activity实例化
通过反射newInstance实现,所以不能对Activity添加构造方法。
同理,fragment也一样。