Czy aktywność i kontekst są takie same, czy też istnieją różnice?
Kiedy metoda powinna przekazać działanie, a kiedy Context?
android
android-activity
android-context
Android
źródło
źródło
Odpowiedzi:
O ile rozumiem: kontekst jest obiektem podstawowym. Tak więc każda aktywność taka sama jak aplikacja pochodzi z kontekstu. Oznacza to, że każde działanie i każde
Application
JESTContext
;Z
developer.android.com
działalnościjava.lang.Object ↳ android.content.Context ↳ android.content.ContextWrapper ↳ android.view.ContextThemeWrapper ↳ android.app.Activity
I aplikacji
java.lang.Object ↳ android.content.Context ↳ android.content.ContextWrapper ↳ android.app.Application
Kontekst aplikacji trwa tak długo, jak długo aplikacja działa, podczas gdy kontekst działania umiera wraz z działaniem (nie jest ważny po
onDestroy
tym działaniu).Więc jeśli potrzebujesz kontekstu między działaniami (tj. W singletonie), lepiej będzie, jeśli użyjesz kontekstu aplikacji.
Zwykle w metodach Android Framework, w których oczekiwany jest kontekst, nie ma znaczenia, który z nich zostanie przekazany. Ale zawsze bądź świadomy MemoryLeaks, jeśli zachowujesz długotrwałe odniesienia do kontekstu
źródło
Jak widać w dokumencie na Androida :
Klasa Activity pochodzi od „ContextThemeWrapper”, ta z „ContextWrapper”, a ta z „Context”.
Tak więc, działanie rozszerza kontekst!
źródło