Android:关于程序中消息通信方式小结

程序中的消息通信有哪些?

Binder:进程间通信方式,采用内存映射机制,达到一次Copy即可进行进程间的数据交换。
AIDLIntentMessage:通信本质,其实都是Binder,它的传输大小不得大于1M。
Socket:效率上比较低,需进过3握4挥的过程。
接口:实现相对复杂,耦合性较大。
Handler:需要拿到 Handler 的句柄,才可通信。
Breakcast:广播相对来说,性能消耗比较大。
文件,共享内存,管道,信号量...

EventBus
Android事件发布/订阅框架,通过解耦发布者和订阅者简化Android事件传递
特点:简洁、解耦。
思想:发布/订阅模式,它定义了一种“一对多”的依赖关系,让多个订阅者对象同时监听某一个主题对象。这个主题对象在自身状态变化时,会通知所有订阅者对象,使它们能够自动更新自己的状态。

RxBus
LiveData
特点:感知声明周期,采用观察者模式(一对一)
LiveDataBus
特点:感知声明周期,采用发布订阅模式(一对多)

更加具体的使用说明参考:
文档:https://github.com/JeremyLiao/SmartEventBus/blob/master/docs/bus_all.md
使用:https://codechina.csdn.net/mirrors/JeremyLiao/LiveDataBus/-/tree/master/live-event-bus

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,580评论 2 59
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,771评论 28 54
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,310评论 4 8
  • 步骤:发微博01-导航栏内容 -> 发微博02-自定义TextView -> 发微博03-完善TextView和...
    dibadalu阅读 3,316评论 1 3
  • 杂志上说生理期的时候免疫力会下降,我觉得挺玄乎,但每次都应验在我身上,那几天总是会感冒,所以生理期同时会伴随着...
    宿原小姐阅读 1,187评论 1 3

友情链接更多精彩内容