Nucleus dahili olarak statik bir Harita kullanır. Aslında Nucleus, bir sunum yapan tarafından bir sunum yapan bir kullanıcıya icra edilen bir Request (rxjava) 'dan daha fazla bir eşleme yapar. Bu, çekirdeğin Presenter örneğini korumayacağı, ancak Talebi (RxJava) koruduğu ve yeni sunucuya yeniden iliştirildiği anlamına gelir.
Mosby 2.0, Fragments'ın saklanmasını veya sunumları tutmak için lastNonConfiguration yöntemini kullanır. Kullanıcı arabirimi olan parçaları saklamakla ilgili bir sorun yok. Parçayı tutan tek dezavantaj, onları arka yığına koyamayacağınızdır. Mosby 3.0'da (SNAPSHOT kullanılabilir, ancak backstack üzerinde henüz uygulanmadı) tüm sunumcular barındırma etkinlikleri yaşam döngüsüne bağlı bir Haritaya kaydedilecektir. Bu, Presenter'ın backstack'de geri almayan parçalar için saklanabileceği anlamına gelir. Nucleus'un tersine, yalnızca Faaliyetler yaşam döngüsü boyunca veya kullanıcı tarafından geri çekilmeden kaldırılırlar (navigasyon). Ayrıca bu, Mosby 3.0'ın da özel görünümleri (FrameLayout vb.) Desteklemesini sağlar.
is it possible to preserve Presenters when navigating away from Fragment/Activity?
Evet, ama neden gereklidir? Görünüm hiç görünmüyorsa, sunucuyu gerçekten tutmaya gerek var mı? Yine de, hem Nucleus hem de Mosby bunu yapabilir.
sorunu, setRetainInstance (true) kullanırken ve fragmanlar arasındaki animasyon geçişini kullanırken bellek sızıntısı (LeakCanary tarafından algılandı) aldım. SetRetainInstance (false) ayarlandığında, bellek sızıntısı olmaz. Presenter'ı Moselle'de setRetainInstance (true) kullanmadan koruyabilir miyim? – SuitUp
Bellek sızıntısı, Fragmanı veya Frant.onViewDestroyed() içindeki Fragmanınızın (geçişler, ClickListenler vb. Gibi) referanslarını, Mosby veya sunum yapan kişi tarafından değil, düzgün bir şekilde temizlememenizdir. Henüz Mosby 2.0'da mümkün değil ama 3.0'da desteklenecek (yaklaşık bir ay içinde piyasaya sürülecek). Ancak, Mosby 2.0 Presenter'da yeniden başlatılabilir. Check-in, Mosby'nin ViewState belgeleri. – sockeqwe
Bu durumu temizler. Artık bir sonraki projemde fantastik kütüphanenizi kullanmama sebep yok! Çok teşekkür ederim! – SuitUp