一、前言
Binder机制是Android中至关重要的IPC通信方式,对于Android应用以及系统开发者来说,都是绕不过去的东西,对Binder机制的理解在某个程度上影响了对整个Android系统的理解。
一般来说,对于应用开发者,只会了解Binder在应用层的使用-aidl能力,但是aidl能力也不过是对native层的一层封装,如果没有native层,整个Binder机制等于是空中楼阁。
我们这里以native层,也即framework层对整个Binder机制作出深入的分析,包括其中大名鼎鼎的“一次拷贝”机制,而Java层基本上是native层的一次封装,我们在这里就不展开了。