Saya pikir ada banyak hal yang kurang didokumentasikan di situs SDK, ini salah satunya. Klaim yang akan saya ajukan adalah sepertinya lebih baik menggunakan konteks aplikasi secara default dan hanya menggunakan konteks aktivitas saat Anda benar-benar perlu. Satu-satunya tempat di mana saya pernah melihat bahwa Anda memerlukan konteks aktivitas adalah untuk dialog kemajuan. SBERG412 mengklaim bahwa Anda harus menggunakan konteks aktivitas untuk pesan bersulang, namun dokumen Android jelas menunjukkan konteks aplikasi yang sedang digunakan. Saya selalu menggunakan konteks aplikasi untuk bersulang karena contoh Google ini. Jika itu salah, maka Google menjatuhkan bola di sini.
Berikut ini lebih banyak untuk dipikirkan dan ditinjau:
Untuk pesan roti panggang, Panduan Pengembang Google menggunakan konteks aplikasi dan secara eksplisit mengatakan untuk menggunakannya:
Pemberitahuan Toast
Di bagian dialog panduan Dev, Anda melihat bahwa AlertDialog.Builder menggunakan konteks aplikasi, dan kemudian bilah kemajuan menggunakan konteks aktivitas. Ini tidak dijelaskan oleh Google.
Dialog
Sepertinya alasan yang baik untuk menggunakan konteks aplikasi adalah ketika Anda ingin menangani perubahan konfigurasi seperti perubahan orientasi, dan Anda ingin mempertahankan objek yang memerlukan konteks seperti Views. Jika Anda melihat di sini: Run Time Changes
Ada peringatan tentang menggunakan konteks aktivitas, yang dapat membuat kebocoran. Ini dapat dihindari dengan konteks aplikasi dengan pandangan yang harus dipertahankan (setidaknya itulah pemahaman saya). Dalam sebuah aplikasi yang saya tulis, saya bermaksud menggunakan konteks aplikasi karena saya mencoba untuk menahan beberapa pandangan dan hal-hal lain pada perubahan orientasi, dan saya masih ingin aktivitas dihancurkan dan diciptakan kembali pada perubahan orientasi. Jadi saya harus menggunakan konteks aplikasi untuk tidak menyebabkan kebocoran memori (lihat Menghindari Kebocoran memori). Bagi saya sepertinya ada banyak alasan bagus untuk menggunakan konteks aplikasi alih-alih konteks aktivitas, dan bagi saya sepertinya Anda akan lebih sering menggunakannya daripada konteks aktivitas. Itulah yang tampaknya dilakukan oleh banyak buku Android, dan itulah yang dilakukan oleh banyak contoh Google.
Dokumentasi Google benar-benar membuatnya tampak seperti menggunakan konteks aplikasi baik-baik saja dalam kebanyakan kasus, dan pada kenyataannya muncul lebih sering daripada menggunakan konteks aktivitas dalam contoh mereka (setidaknya contoh yang saya lihat). Jika benar-benar masalah untuk menggunakan konteks aplikasi, maka Google benar-benar perlu lebih menekankan hal ini. Mereka perlu menjelaskan, dan mereka perlu mengulang beberapa contoh mereka. Saya tidak akan menyalahkan ini sepenuhnya pada pengembang yang tidak berpengalaman karena otoritas (Google) benar-benar membuatnya tampak seperti itu bukan masalah untuk menggunakan konteks aplikasi.