Android 系统启动完成后,ActivityManager, PackageManager 等各大服务都运行在 system_server 进程,app 应用需要使用系统服务都是通过 binder 来完成进程之间的通信,上篇文章彻底理解 Android Binder 通信架构,从整体架构以及通信协议的角度来阐述了 Binder 架构。那对于 binder 线程是如何管理的呢,又是如何创建的呢?其实无论是 system_server 进程,还是 app 进程,都是在进程 fork 完成后,便会在新进程中执行 onZygoteInit() 的过程中,启动 binder 线程池。接下来,就以此为起点展开从线程的视角来看看 binder 的世界。