当时在分析App启动过程时就有这个疑惑,我们知道Android系统启动App的过程中涉及到很多次的跨进程通信,其中AMS进程与Zygote进程的这个跨进程通信过程为什么要用Socket?而不是使用Binder?Binder不是号称比Socket快,比Socket更高效和安全吗?那为什么这里要用Socket,不用Binder?这里使用Socket的优势在哪?可以替换为使用Binder吗?
今天在浏览Binder相关文章的时候恰好看到有相关的文章也提出了类似的疑问,心想,卧槽,原来也有人在思考这个问题啊…卧槽…
参考:
[026]Zygote中Socket通信能否替换成Binder通信?
为什么systemServer进程与zygote进程的通信是使用socket而不是binder?
Android6.0之AMS通过socket与zygote通信创建app进程