Android组件化架构和技术

文笔比当年提升了一些,后面再做一次总结

组件间通信思路:本质都需要经过一个公共模块进行通信(类似不同用户空间通过内核通信)

A模块要调用B模块方法:

  1. 提取B模块接口,被A模块依赖。
  2. B模块实现接口逻辑,B模块启动的时候将自身注入底层模块,底层模块保存<Key, IProvider>,Key一般时Class名称或者自定义Name
  3. A模块根据Key找到IProvider,强转为B模块的接口,调用接口方法

另外可以定义通用消息,定义sendMessage或者sendEvent,接收方提供一个入口负责接收,解析Message或Event执行不同的逻辑

ARouter使用编译时注解

EventBus原理也是类似的,只不过Key是参数类型,存储的是方法信息,通过反射执行方法。使用运行时注解

https://mp.weixin.qq.com/s/BrNIUBl_XJFwzqlzritViw

results matching ""

    No results matching ""