![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android开源框架学习
文章平均质量分 88
Jonas35
学习
展开
-
Arouter 学习-初识
中间件项目打算模块化重构,其中很重要的一个问题如何降低各模块的依赖?路由架构有助于降低模块的依赖,了解到Arouter提供路由功能,学习一下。1. Arouter是什么? Android平台中对页面、服务提供路由功能的中间件典型应用从外部URL映射到内部页面,以及参数传递与解析跨模块页面跳转,模块间解耦拦截跳转过程,处理登陆、埋点等逻辑跨模块API调用,通过控制反转来做组件解耦原创 2018-01-31 17:11:55 · 233 阅读 · 0 评论 -
ARouter 学习-源码分析如何暴露服务
Arouter提供自定义注解Route方便应用去标注哪些服务可以暴露给其它模块。** * Mark a page can be route by router. * * @author Alex Contact me. * @version 1.0 * @since 16/8/15 下午9:29 */@Target({ElementType.TYPE})@Retention原创 2018-01-31 17:57:42 · 1100 阅读 · 0 评论 -
ARouter 学习- 源码分析如何做到控制反转
//分析如何跨模块调用API.ARouter使用时,需要先调用下面方法做初始化操作:ARouter.init(mApplication); // 尽可能早,推荐在Application中初始化下面跟源码看看init到底做了哪些操作上图是大概的一个调用时序,可以看到最终在LogisticsCenter做了大量的操作。那LogisticsCenter是什么呢?Logisti原创 2018-02-01 16:03:48 · 401 阅读 · 0 评论 -
VirtualApp - 独立式 Resource hook
基于之前对插件化的了解,大部分的插件对于资源都是合并式的,通过addAssetPath将插件的资源加入到assetManager中,这种方式会带来一个问题:resource id冲突。当然目前已经有方案去解决:aapt或者修改arsc文件。VirtualApp中可以安装任意的第三方APK,如果采用合并式资源加载方案,那肯定也会有resource id冲突问题,但上面说的解决方案都需要第三方APK去...原创 2018-02-09 11:31:46 · 3024 阅读 · 0 评论