Saya telah mengalami begitu banyak masalah dengan beberapa layout aktivitas sehingga saya sangat tidak menyarankannya, kecuali jika ada alasan bagus untuk memilihnya.
Kerugian dari banyak aktivitas
Menggunakan banyak aktivitas, sangat sulit untuk memfaktor ulang kode untuk mengembalikan data dari aktivitas.
Jika Anda memanggil 'sub'-aktivitas maka aktivitas utama mungkin dimatikan. Tetapi Anda tidak pernah mengalaminya saat men-debug pada perangkat yang layak, oleh karena itu Anda harus selalu menangani status penyimpanan dan status pemulihan dengan benar. Itu menyakitkan. Bayangkan memanggil metode pada sebuah pustaka (mis. Aktivitas lain), dan Anda harus memastikan bahwa ketika metode itu mengembalikan, aplikasi Anda harus dapat membuat ulang statusnya sepenuhnya dengan semua bidang pada semua objek di VM (mis. Aktivitas. restoreIntance). Ini gila.
Begitu pula sebaliknya, saat Anda membuka subaktivitas, VM mungkin telah dimatikan sejak subaktivitas pertama kali muncul, seperti saat aplikasi diminimalkan saat subaktivitas ditampilkan.
Jauh lebih bersih hanya memiliki satu tempat untuk menyimpan status aplikasi yang relevan, dan dalam kasus saya, paling sering jika VM dimatikan, saya ingin mengembalikan pengguna ke layar utama, dan membiarkan mereka melakukan tugasnya lagi, karena saya tidak Tidak menghabiskan 30-50 jam coding menyimpan / melanjutkan fungsionalitas yang akan dialami oleh 0,1% pengguna.
Alternatif
Fragmen atau hanya mengelola tampilan aktivitas Anda sendiri. Mengelola tampilan secara manual, memerlukan pengkodean beberapa alternatif pengalihan tampilan untuk aktivitas / fragmen dengan transisi jika diinginkan.
Dan tidak, itu tidak berarti satu mega-aktivitas, seperti yang disarankan dalam jawaban yang diterima, dengan cara apa pun selain satu mega-app-nya. Ini hanya membutuhkan sedikit lebih banyak desain basis kode menjadi bagian-bagian yang pas, karena ada sedikit lebih banyak pekerjaan yang mengelola tampilan, meskipun lebih sedikit pekerjaan yang mengelola status aktivitas dan keanehan lainnya.
Mungkin relevan: Reddit: Resmi: Google secara resmi merekomendasikan arsitektur aplikasi aktivitas tunggal