应用进程
// 写的简单点,以后再补充
- 虚拟机实例
- 信息循环
- Binder线程池
创建流程
AMS通过unix domain socket连接Zygote,fork出应用进程
- AMS是Zygote fork出的SystermService进程开启的 service (TODO:具体 以线程、进程形式运行, 后续再补充)
- AMS(ActivityManagerService)startProcessLocked
//frameworks\base\services\java\com\android\server\am\ActivityManagerService.java
privatefinal void startProcessLocked(ProcessRecord app, String hostingType, String hostingNameStr) {
//**
startResult = Process.start(entryPoint,
app.processName, uid, uid, gids, debugFlags, mountExternal,
app.info.targetSdkVersion, seInfo, requiredAbi, instructionSet,
app.info.dataDir, invokeWith, entryPointArgs);
//**
}
- frameworks\base\core\java\android\os\Process.java
public static final ProcessSt