2016-07-15 32 views

Antwort

2

Die Application Instanz ist ein Singleton. Es wird erstellt, wenn Android eine Komponente Ihrer Anwendung in einem neuen Prozess startet.

Beachten Sie, dass, wenn Android den Prozess hostet Ihre Anwendung hostet und dann startet Ihre Service, wird es in einem neuen Prozess ausgeführt und Android wird eine neue Instanz der Application Klasse erstellen.

+0

Und ich denke, alle Aktivitäten, die nach dem Erstellen des neuen Prozesses gestartet werden, verwenden dann die neu erstellte 'Application'-Instanz. – Zardoz

+0

Ja, alle Komponenten ("Aktivität, Service, BroadcastReceiver, Provider") innerhalb des Prozesses verwenden die gleiche "Application" -Instanz. –

-2

ja Ihr Dienst wird immer Zugriff auf gleiche Anwendungsinstanz, wenn Ihre Aktivität neu gestartet wird, dann wird es hat eine andere Instanz erstellen

+0

Was meinen Sie mit "eine andere Instanz erstellen"? Dann haben beide (Dienst und Aktivität) keinen Zugriff auf dieselbe Instanz ?! Sie würden nur die gleiche Instanz teilen, wenn die gestartete Aktivität die Instanz des Dienstes irgendwie wiederverwenden würde (vorausgesetzt, der Dienst läuft länger als jede Aktivität). – Zardoz