Apakah Aktivitas dan Konteks sama, atau adakah perbedaan?
Kapan saya harus memiliki metode untuk meneruskan Aktivitas, dan kapan Konteks?
Apakah Aktivitas dan Konteks sama, atau adakah perbedaan?
Kapan saya harus memiliki metode untuk meneruskan Aktivitas, dan kapan Konteks?
Jawaban:
Sejauh yang saya mengerti:
Konteks adalah Objek Dasar. Jadi setiap Aktivitas yang sama seperti Aplikasi berasal dari Konteks. Artinya setiap Aktivitas dan setiap Application
IS a Context
;
Dari developer.android.com
Aktivitas
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
Dan Aplikasi
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
Konteks Aplikasi bertahan, selama aplikasi Anda hidup, sementara konteks Aktivitas mati bersama Aktivitas Anda (tidak valid setelah onDestroy
Aktivitas itu).
Jadi jika Anda membutuhkan Konteks di seluruh Aktivitas (yaitu di Singleton) Anda akan lebih baik menggunakan konteks Aplikasi.
Biasanya pada metode Kerangka Android di mana konteks diharapkan, tidak ada bedanya mana yang Anda lewati. Tetapi selalu waspadai MemoryLeaks jika Anda menyimpan Referensi untuk Konteks yang berumur panjang
Seperti yang Anda lihat di dokumen Android :
Kelas Activity diturunkan dari "ContextThemeWrapper", dan yang ini dari "ContextWrapper", dan yang satu ini dari "Context".
Jadi, ya, Aktivitas memperluas Konteksnya!