Android进程间通信和线程间通信

进程间方式

  • 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
  • 共享变量
  • 管道

猜你喜欢

转载自blog.csdn.net/hd12370/article/details/82829914