Sind Aktivität und Kontext gleich oder gibt es Unterschiede?
Wann sollte eine Methode eine Aktivität übergeben und wann einen Kontext?
android
android-activity
android-context
Android
quelle
quelle
Antworten:
Soweit ich weiß: Kontext ist das Basisobjekt. Jede Aktivität, die mit der Anwendung identisch ist, leitet sich aus dem Kontext ab. Dies bedeutet, dass jede Aktivität und jeder
Application
IS aContext
;Aus der
developer.android.com
AktivitätUnd Anwendung
Ein Anwendungskontext bleibt so lange bestehen, wie Ihre App aktiv ist, während der Aktivitätskontext mit Ihrer Aktivität stirbt (er ist nach
onDestroy
dieser Aktivität nicht mehr gültig ).Wenn Sie also den Kontext für alle Aktivitäten benötigen (dh in einem Singleton), ist es besser, einen Anwendungskontext zu verwenden.
Bei Android Framework-Methoden, bei denen ein Kontext erwartet wird, spielt es normalerweise keine Rolle, welchen Sie übergeben. Beachten Sie jedoch immer MemoryLeaks, wenn Sie langlebige Verweise auf einen Kontext behalten
quelle
Wie Sie auf dem Android-Dokument sehen können :
Die Activity-Klasse erstreckt sich von "ContextThemeWrapper" und diese von "ContextWrapper" und die von "Context".
Also, ja, eine Aktivität erweitert den Kontext!
quelle