本文只是列举了Android进程间通信和Android线程间通信的常见方式,还请见谅,具体实现或原理可参见其他博客。
Android IPC
- Intent方式Bundle通信
- Broadcast方式
- 文件共享的方式
- AIDL方式(基于Binder)
- Messenger方式(AIDL+Handler Message的方式)
- ContentProvider的方式
- Socket(网络)
Android 线程间通信
(1)狭义的线程间通信指:子线程与主线程的通信。有如下四种常用方式:
- Handler方式
- runOnUiThread方式
- View.post(Runnable r)方式
- AsyncTask方式
(2)广义的线程间通信指:应用内四大组件的交互,各个类的通信等。包括但不限于如下方式:
- 全局变量(注意对并发的处理——单例、volatile)
- 接口回调
- EventBus
- RxJava实现的类似EventBus功能