java 调用view_Android从ViewModel调用View Controller方法

我开始玩Android JetPack(ViewModel,Architecture Components,LIfeCycle等) . 直到现在,我正在使用Model View Presenter架构,实际上我发现它很容易测试和维护架构 .

另一方面,我可以通过使用ViewModels看到的最大优势是它们与活动和碎片生命周期的本地耦合,这一直是Android开发人员最大的痛苦之一,因此我认为这是一个非常大的进步 .

说,我认为有一个很大的缺点:使用这种新方法,调用Activity或Fragment的方法似乎更棘手,因为正如官方文档中所述

ViewModel绝不能引用视图,生命周期或任何可能包含对活动上下文的引用的类 .

在MVP方法中,Presenter与视图签订了 Contract ,并可以调用其所有方法 . 我对如何使用Architecture组件解决这个问题进行了一些研究,但似乎没有简单而轻松的方法:最后,您总是必须处理ViewModel中的状态并对活动和碎片中的这些更改做出反应 . 有人建议使用SingleLiveEvent类,这使它更容易一些,但仍然比以前更痛苦 .

所以我的问题是:

文档说你不能引用任何持有对Activity Activity的引用的东西(为了避免内存泄漏),但是如果我这样做然后我清除了ViewModel的onCleared()中的所有引用呢?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值