Android系统中各个组件、模块往往运行在各种不同的进程和线程内,这里就必然涉及进程/线程之间的通信。了解其通信方式,才能更好地理解android系统的运转。因此系统学习framework前,通信方式的学习必须是首当其冲的。
IPC(Inter-Process Communication, 进程间通信)分类:
Linux: 管道、消息队列、共享内存、Socket、信号量、信号这些IPC机制。
Android:提供了Binder IPC机制。
对于Android来说:
1)同一进程内线程间通信:Handler消息机制。
2)进程间通信:Binder IPC机制,当然也包含有Socket通信。
system server、media server以及上层App之间更多的是采用Binder IPC方式来完成跨进程间的通信。Zygote进程的IPC采用的是Socket机制。
当然也有少量其他的IPC方式,比如杀进程Process.killProcess()采用的是signal方式。本系列只针对Handler消息机制,Binder机制进行深入分析。
Android通信方式学习框架:
进程内通信:
Android通信方式篇(一)-消息机制(Java层)
Android通信方式篇(二)-消息机制(ThreadLocal详解)
Android通信方式篇(三)-消息机制(Native层)
进程间通信:
Android通信方式篇(四)-Binder机制(开篇)
Android通信方式篇(五)-Binder机制(Kernel层)
Android通信方式篇(六)-Binder机制(Native层(上))
Android通信方式篇(七)-Binder机制(Native层(下))
Android通信方式篇(八)-Binder机制(Framework层)
网友评论