getApplicationContext (), getBaseContext (), getApplication (), getParent ()


Jawaban:


33

getApplicationContext() Konteks Aplikasi dikaitkan dengan Aplikasi dan akan selalu sama sepanjang siklus hidup.

getBasecontext()sebaiknya tidak digunakan, cukup gunakan Contextyang terkait dengan aktivitas dan bisa dimusnahkan saat aktivitas dimusnahkan.


16
bagaimana dengan getApplication () dan getParent ()
Nikunj Patel

107

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.


16
Seperti yang telah Anda sebutkan, kita tidak boleh menggunakan getBaseContext (), jika tidak terlalu penting, mengapa itu dalam pengkodean dan apa keuntungan utamanya. tolong jelaskan saya tentang itu
Pir Fahim Shah

getBaseContext () harus digunakan dalam situasi yang sangat spesifik. Ada penjelasan yang sangat bagus di sini - medium.com/@ali.muzaffar/…
lomza
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.