android module中获取 app_Android组件化架构 - 4. 动态创建

Android 组件化中使用动态创建的作用是解耦;

1. 反射机制

反射有两个作用:1.反编译:.class->.java;2.通过反射机制访问java对象中的属性,方法,构造器等;

实现反射,实际上是得到Class对象

ac017b1ea48037b1a14a609fb90f2d4d.png

c661bb1451298bc35d1639016b2f7b52.png

2. 动态创建fragment

  • 开发中经常会用到activity+多fragment的场景;
  • 正常使用activity引用fragment方式时是强引用(import包名),在组件化项目中,如果fragment是组件module中的,
    activity是主module或其他module的, 就会造成耦合严重,当需要移除时也很麻烦,那么如何降低耦合呢, 这就可以通过上面说的反射实现;

4efe91a0ccc247eea3a52fa9e66191cc.png

使用反射会相对安全,也会降低耦合,但反射会造成一定的效率下降;

ARouter也提供了跨模块获取fragment对象的操作

a5646c1d65e438771725a5eff720b9c4.png
  • 使用跨模块获取Fragment非日常适合在单Activity+多fragment的app架构中使用,因为fragment划分模块作为入口的设计,使用ARouter的方式非常适应模块间解耦的要求;
  • 当业务模块选用fragment的形式作为业务入口时,需要充分考虑模块间业务跳转的解耦性,以保证业务分离后不会造成app崩溃

3. 动态配置Application

  • 开发中我们经常会遇到某些功能模块中需要一些初始化的操作,只能强引用到主module的application中,这种情况如何更好的解耦呢?

9cd7b3fb388d4ab4221124fd8fd149ab.png

e83481c069cf8f82b127dd3f9cb2b590.png

2809244c3ebfff5b92aab6267e2a364e.png

我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章

33e9fa0396a3e55ddde6dad45cf5b4ec.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值