簡體   English   中英

實施MVP時,在Android中保留Presenters的最佳做法是什么?

[英]What are the best practices to preserve Presenters in Android when implementing MVP?

你是怎么做到的? 配置更改時如何保存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生命周期,或由用戶從后退堆棧中移除(導航)。 此外,這還允許Mosby 3.0也支持自定義視圖(FrameLayout等)。

is it possible to preserve Presenters when navigating away from Fragment/Activity?

是的,但是為什么需要您呢? 如果視圖完全不可見,是否真的需要保留演示者? 盡管如此,Nucleus和Mosby都能做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM