Birden fazla etkinlik düzeniyle ilgili o kadar çok sorun yaşadım ki, onu seçmek için iyi bir neden olmadıkça bunu kesinlikle önermiyorum.
Birden çok faaliyetin dezavantajı
Birden çok etkinlik kullanmak, etkinlikten veri döndürmek için kodu yeniden düzenlemek çok zordur.
Bir 'alt' aktivite olarak adlandırırsanız, o zaman ana aktivite sonlandırılabilir. Ancak, düzgün bir cihazda hata ayıklarken bunu asla yaşamazsınız, bu nedenle her zaman kaydetme durumu ve doğru kurtarma durumu ile ilgilenmeniz gerekir. Bu bir acı. Bir kitaplıktaki bir yöntemi (yani başka bir etkinlik) çağırdığınızı düşünün ve bu yöntem geri döndüğünde uygulamanızın durumunu sanal makinedeki tüm nesnelerdeki tüm alanlarla (yani etkinlik. restoreIntance). Bu çılgınlık.
Ayrıca tam tersi, bir alt etkinliği açtığınızda, alt etkinlik görüntülenirken uygulama simge durumuna küçültüldüğünde olduğu gibi alt etkinlik ilk ortaya çıktığından beri VM ölmüş olabilir.
İlgili uygulama durumunu depolamak için tek bir yere sahip olmak çok daha temiz ve benim durumumda, çoğu zaman VM öldürülürse, kullanıcıyı ana ekrana döndürmek ve işlerini yeniden yapmalarına izin vermek istiyorum çünkü Kullanıcıların% 0,1'inin deneyimleyeceği 30-50 saat kodlama kaydetme / sürdürme işlevini harcamayın.
Alternatif
Parçalar veya sadece aktivite görünümlerinizi kendiniz yönetin. Görünümleri manuel olarak yönetmek, istenirse geçişler içeren etkinliklere / bölümlere bazı görünüm değiştirme alternatifleri kodlamayı gerektirir.
Ve hayır, kabul edilen cevapta önerildiği gibi, tek bir mega uygulaması dışında herhangi bir şekilde bir mega aktivite anlamına gelmez. Sadece kod tabanının uygun parçalara göre biraz daha fazla tasarlanmasını gerektirir, çünkü görünümleri yönetmek için biraz daha fazla iş vardır, ancak etkinlik durumu ve diğer tuhaflıkları yönetmek için çok daha az iş vardır.
Muhtemelen alakalı: Reddit: Resmi: Google resmi olarak tek etkinlikli uygulama mimarisini öneriyor