Android问题篇之Framework问题(九) 朝星_D 2024-07-10 58 阅读1分钟 Framework问题 zygote与ams间通信为什么使用socket而不是binder? 使用binder会导致死锁问题,binder是支持多线程并发的,若ams使用binder来通知zygote去fork进程的话,因zygote属于服务端,ams若想通信的话,需获取zygote的binder对象去通知zygote去fork对象,此时zygote会被加锁,因fork出来的是一个zygote副本,所以也是加锁状态,原zygote fork完会解锁,但fork出来的进程不会,所以会引起死锁