1、Android为什么要采用Binder作为IPC机制?
比传统ipc方式少了一次拷贝,使用方便,效率高
2、Binder是如何做到一次拷贝的?
发送方拷贝数据到内核,内核与接收方通过内存映射共享数据,减少了一次拷贝
3、MMAP的原理?
不同进程的虚拟内存映射到同一块物理内存
4、Binder机制是如何跨进程的?
由binder驱动来负责 client、server、ServerManager之间的通信,一般分3步:注册服务、获取服务、调用服务。原理还是内存映射
5、AIDL生成的Java类细节是怎样的?
生成一个接口继承了IInterface,接口里定义一个抽象类继承了Binder 并实现了这个接口,抽象类里又定义了一个代理类,也实现了这个接口
6、四大组件底层的通信机制是怎样的?
binder
7、为什么Intent不能传递大数据?
因为intent涉及到跨进程通信,是由binder实现,binder的共享缓存区大小为1MB,可能被多个进程占用,所以数据不能太大