15.3层间通信
15.3.1通信方式
层间通信主要有两种方式:
(1) 消息
优点:层间的耦合性比较小,而且一个消息可以有多个接收方,如广播消息。
缺点:如果系统中的消息比较多,可能处理速度比较慢,或消息队列满了,接收方无法接收到消息。还有一种情况是A发消息给B的,但可能先被C接收了,B也无法接收到消息。
(2) 回调函数
优点:处理速度比较快。
缺点:层间的耦合性比较大。
在开发APP的时候,可能会遇到这样的情况:
某个页面发送给服务器的请求比较多,导致页面数据加载比较慢,需要在前个页面先发送请求,也就是在A页面发送请求,在B页面接收、解析和显示数据。
这种情况采用Local Broadcast发送广播消息的方式处理比较好。
对于网络层和其他模块间传递数据的方式建议采用消息方式。
15.3.2交互模式
层间通信交互模式:
(1)同步调用
A向B发出请求后,一直等收到B的反馈后,再继续执行。
(2)异步调用
A向B发出请求后,不等待B的反馈,就继续执行后续代码。
MVP架构的运行示例:
UI层的Activity在启动之后实例化相应的Presenter,App的控制权后移,由UI转移到Presenter,两者之间的通信通过BroadCast、Handler或者接口完成,只传递事件和结果。
举个简单的例子,UI层通知逻辑层(Presen

本文探讨APP开发中层间通信的两种主要方式——消息和回调函数,分析其优缺点,并提供具体应用场景。同步与异步调用的交互模式也被提及,结合MVP架构示例说明通信过程。
订阅专栏 解锁全文
2834

被折叠的 条评论
为什么被折叠?



