你是怎么做到的?配置更改时如何保存Presenters?
另一个问题:离开“片段/活动”时是否可以保留Presenters?
我不介意使用诸如Mosby或Nucleus之类的MVP框架,但是我认为Mosby的方法并不是最好的方法。根据SO上的许多帖子,不应在带有UI的片段中使用Fragment.setRetainInstance(true),也不应将其与Backstack一起使用。也许有更好的方法?
Nucleus内部使用静态贴图。实际上,Nucleus所做的更多是从演示者执行的请求(rxjava)到演示者实例的映射。这意味着核心不保留Presenter实例,而是保留请求(RxJava)并将其重新附加到新的Presenter实例。
Mosby 2.0使用保留的Fragment或活动lastNonConfiguration方法保留演示者。保留具有UI的片段没有错。保留碎片的唯一缺点是您不能将它们放在后方堆栈中。在Mosby 3.0(可用的SNAPSHOT,但尚未实现后堆栈上的片段)中,所有演示者都将保存在绑定到宿主活动生命周期的Map中。这意味着,Presenter可以保留在后堆栈上,以防止非再训练片段。与Nucleus相比,它们只能保留到Activity生命周期,或者被用户从Backstack中删除(导航)。此外,这还允许Mosby 3.0支持自定义视图(FrameLayout等)。
is it possible to preserve Presenters when navigating away from Fragment/Activity?
是的,但是为什么需要您呢?如果视图完全不可见,是否真的需要保留演示者?尽管如此,Nucleus和Mosby都可以做到这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句