Bitte denken Sie gründlich darüber nach, ob Sie die Anwendung wirklich beenden müssen: Warum überlassen Sie es nicht dem Betriebssystem, herauszufinden, wo und wann es die Ressourcen freigeben soll?
Andernfalls, wenn Sie sich wirklich sicher sind, verwenden Sie
finish();
Als Reaktion auf den Kommentar von @dave appleton: Lies als erstes die große Frage/Antwort-Kombination, die @gabriel gepostet hat: Ist es verpönt, eine Bewerbung abzubrechen?
Angenommen, wir haben das, dann hat die Frage immer noch eine Antwort, denn der Code, den Sie brauchen, wenn Sie etwas mit Beenden machen, ist finish()
. Natürlich können Sie mehr als eine Aktivität usw. haben, aber das ist nicht der Punkt. Lassen Sie uns einige der Anwendungsfälle durchgehen
- Sie wollen, dass der Benutzer wegen des Speicherverbrauchs alles beendet und "nicht im Hintergrund läuft"? Das ist zweifelhaft. Lassen Sie den Benutzer bestimmte Aktivitäten im Hintergrund stoppen, aber lassen Sie das Betriebssystem alle nicht benötigten Ressourcen beenden.
- Sie möchten, dass ein Nutzer nicht zur vorherigen Aktivität Ihrer App wechselt? Dann konfigurieren Sie es entweder so, dass es nicht funktioniert, oder Sie brauchen eine zusätzliche Option. Wenn die meiste Zeit die Zurück=Vorherige-Aktivität funktioniert, würde der Benutzer dann nicht einfach auf Home drücken, wenn er/sie etwas anderes tun möchte?
- Wenn Sie eine Art Reset benötigen, können Sie herausfinden, ob/wie/etc. Ihre Anwendung beendet wurde, und wenn Ihre Aktivität wieder in den Fokus gerät, können Sie darauf reagieren, indem Sie einen neuen Bildschirm anzeigen, anstatt dort neu zu starten, wo Sie waren.
Also am Ende, natürlich, finish()
tötet zwar nicht alles, aber ich denke, es ist trotzdem das richtige Werkzeug. Wenn es einen Anwendungsfall für "alle Aktivitäten beenden" gibt, habe ich ihn noch nicht gefunden.