彻底搞清楚,模块化吗,插件化,他们之间互相调用依赖关系,和特殊场景的处理
一、最简单的安卓模块之间的调用,就是把不同模块的一些类注册到一个都依赖的模块
1)类的注入然后调用
1、activity调用
在主工程把activity的intent塞入子工程,让子工程通过这个intent可以打开相应的activity
2、类的调用
在主工程实现子工程的抽象接口,再在主工程把这个实现类塞到子工程里,这样从子工程里调用这个接口就能找到实现类了
2)反射
3)各种显示的,隐式的intent-filter
4) 利用跨进程通信aidl,Binder
5) 开源路由框架,ARouter用的是反射
6)可以用eventBus,事件总线
来源:
微信:https://mp.weixin.qq.com/s/W38aauoCEEUbL8KvUkb_Rw?
https://mp.weixin.qq.com/s/6Q818XA5FaHd7jJMFBG60w
阿里:https://mp.weixin.qq.com/s/twfpUMf9CfXcgwtFFkJ4Ig
支付宝:https://mp.weixin.qq.com/s/eXzojM0lCaaCW4JxBaU6BQ
美团:https://tech.meituan.com/2018/09/27/waimai-android-multi-app-reuse.html
https://tech.meituan.com/2018/03/16/meituan-food-delivery-android-architecture-evolution.html
https://tech.meituan.com/2016/11/11/android-mvvm.html
https://tech.meituan.com/2018/08/23/meituan-waimai-android-open-source-routing-framework.html
通过aidl通信:https://blog.youkuaiyun.com/c6e5uli1n/article/details/91682094