- 博客(2)
- 收藏
- 关注
原创 Android 为什么AMS通知Zygote进程fork是用Socket通信
前言UNIX上C++程序设计守则3准则3:多线程程序里不准使用fork总结Binder通讯是需要多线程操作的,代理对象对Binder的调用是在Binder线程,需要再通过Handler调用主线程来操作。比如AMS与应用进程通讯,AMS的本地代理IApplicationThread通过调用ScheduleLaunchActivity,调用到的应用进程ApplicationThread的ScheduleLaunchActivity是在Binder线程,需要再把参数封装为一个ActivityC
2022-03-02 21:22:32
3083
2
原创 Activity启动流程
前言Activity启动流程分两种一种是启动正在运行的app的Activity,即启动子Activity。如无特殊声明默认和启动该activity的activity处于同一进程。如果有声明在一个新的进程中,则处于两个进程。 另一种是打开新的app,即为Launcher启动新的Activity。后边启动Activity的流程是一样的,区别是前边判断进程是否存在的那部分。涉及到的进程Launcher所在的进程 AMS所在的SystemServer进程 要启动的Activity所在的app
2022-03-02 11:39:24
5509
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人