进程间方式
- Bundle
- 文件共享
- AIDL
- Messenger,注意不是Message ContentProvider
- 网络编程(Socke和TCP/UDP)
由于应用程序之间不能共享内存。在不同应用程序之间交互数据(跨进程通讯),在Android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service:
- Activity可以跨进程调用其他应用程序的Activity;
- ContentProvider可以跨进程访问其他应用程序中的数据(以Cursor对象形式返回), 当然,也可以对其他应用程序的数据进行增、删、改操作;
- Broadcast可以向android系统中所有应用程序发送广播, 而需要跨进程通讯的应用程序可以监听这些广播;
- Service和Content Provider类似,也可以访问其他应用程序中的数据, 但不同的是,ContentProvider返回的是Cursor对象, 而Service返回的是Java对象,这种可以跨进程通讯的服务叫AIDL服务。
线程间的方式
- Message Handler Looper机制
- AsnyTask
- 共享变量
- 管道