Apakah Aktivitas dan Konteks sama, atau adakah perbedaan?
Kapan saya harus memiliki metode untuk meneruskan Aktivitas, dan kapan Konteks?
android
android-activity
android-context
Android
sumber
sumber
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 aContext
;Dari
developer.android.com
Aktivitasjava.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
sumber
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!
sumber