Apa perbedaan antara:
getApplicationContext()
getBasecontext()
getApplication()
getParent()
Bisakah Anda menjelaskan dengan satu contoh sederhana?
android
android-context
Nikunj Patel
sumber
sumber
Jawaban:
getApplicationContext()
Konteks Aplikasi dikaitkan dengan Aplikasi dan akan selalu sama sepanjang siklus hidup.getBasecontext()
sebaiknya tidak digunakan, cukup gunakanContext
yang terkait dengan aktivitas dan bisa dimusnahkan saat aktivitas dimusnahkan.sumber
getApplicationContext () Konteks aplikasi dikaitkan dengan Applicaition dan akan selalu sama sepanjang siklus hidup.
getBasecontext () tidak boleh digunakan, cukup gunakan Context sebagai ganti yang terkait dengan aktivitas dan mungkin bisa dimusnahkan saat aktivitas dimusnahkan.
getApplication () hanya tersedia untuk Aktivitas dan Layanan. Meskipun dalam implementasi Aktivitas dan Layanan Android saat ini, getApplication () dan getApplicationContext () menampilkan objek yang sama, tidak ada jaminan bahwa hal ini akan selalu terjadi (misalnya, dalam implementasi vendor tertentu). Jadi jika Anda menginginkan kelas Aplikasi yang Anda daftarkan di Manifest, Anda tidak boleh memanggil getApplicationContext () dan mentransmisikannya ke aplikasi Anda, karena itu mungkin bukan instance aplikasi (yang jelas Anda alami dengan kerangka pengujian).
getParent () mengembalikan objek aktivitas jika tampilan saat ini adalah anak .. Dengan kata lain, mengembalikan objek aktivitas yang menghosting tampilan anak saat dipanggil di dalam anak.
sumber