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架构的运行示例