Was ist der richtige Weg, um Apps in Android zu schließen?

69

Ich bin neu in der Android-Plattform, und das ist wahrscheinlich eine dumme Frage, aber ...

Wie schließt man eine App?

Wenn ich in einer App bin und aussteigen möchte, klicke ich einfach auf "Home" und fahre fort, aber ich habe gerade eine Task-Manager-App installiert und festgestellt, dass alles ausgeführt wird.

Gibt es eine Möglichkeit, Apps zu beenden? Oder muss ich den Task-Manager jedes Mal verwenden, wenn ich etwas beende?

Ale
quelle

Antworten:

48

Wenn Sie die App über die BACKSchaltfläche beenden, wird onDestroy()die aktuelle Aktivität aufgerufen. Wenn Sie HOMEnur auf diese Schaltfläche klicken, müssen Sie sich jedoch onPause()
keine Sorgen machen. Aktivitäten werden nicht entladen, da sie nur im Speicher verbleiben und geöffnet werden können schneller in der Zukunft.

Ich würde nicht empfehlen, eine dieser Task-Killer-Apps zu verwenden. Android wurde aus einem bestimmten Grund entwickelt, um das Zeug im Speicher zu halten. Die Verwendung eines Task-Killers ist nur ein weiterer zusätzlicher Dienst, der Ihre Batterie zerrt. Worauf Sie achten müssen, ist Apps, die Dienste im Hintergrund ausführen, wie z. B. Twitter- oder E-Mail-Clients, die ihre Server auslagern, und jede gute App, die über einen solchen Dienst verfügt, kann diesen deaktivieren.

Nathan Schwermann
quelle
1
Ich habe ein paar Apps bemerkt, die in diesem angehaltenen Zustand viel Batterie verbrauchen. Die neueste Version von Google Maps und ein Spiel, das ich GalaxIR genannt habe. Halten Sie also Ausschau nach bösen Tätern und achten Sie darauf, diese ordnungsgemäß zu schließen.
Keithjgrant
1
Sie irren sich, wenn es sich bei Ihrem Teig um einen Hintergrunddienst handelt.
Nathan Schwermann
5
Es ist in der Tat möglich, dass eine Anwendung nicht gut entwickelt ist und nicht dem Lebenszyklus der Android-Anwendung folgt. Beispielsweise kann ein Thread in einer Aktivität aktiv bleiben, selbst nachdem er vom Betriebssystem angehalten wurde (durch Drücken von Home). In diesem Fall verwendet die App den Akku weiterhin.
Jmbouffard
1
Ich habe festgestellt, dass viele Apps nicht beendet werden, wenn ich auf die Schaltfläche Zurück drücke. Zum Beispiel: Pandora, G
Clay Nichols
1
(meine Bearbeitungszeit ist abgelaufen) .... andere Apps, die nicht über die Schaltfläche "Zurück" geschlossen werden: Pandora (die auch nach dem Drücken von "Zurück" weiter abgespielt wird), Google Play Store, FaceBook, Podkicker. Die Art und Weise, wie ich teste, besteht darin, auf die Schaltfläche Zurück zu klicken, bis die App verschwindet (normalerweise bringt mich das wieder nach Hause) und anschließend Easy Task Killer auszuführen.
Clay Nichols
25

Ich bin mir ziemlich sicher, dass alles, was ich jemals gelesen habe, besagt, dass die BackSchaltfläche der richtige Weg ist, um Apps zu beenden.

Durch Drücken von werden Homesie im Hintergrund ausgeführt, bis Android feststellt, dass sie nicht mehr benötigt werden. Dies kann hilfreich sein, wenn Sie nur zwischen Apps wechseln müssen, um etwas zu überprüfen (halten Sie die Home-Taste einige Sekunden lang gedrückt, um eine Liste der zuletzt ausgeführten Apps anzuzeigen Sie können auf den meisten Handys wieder zu wechseln. Wenn Sie jedoch die Schaltfläche "Zurück" verwenden, wird der App mitgeteilt, dass sie geschlossen werden soll.

GAThrawn
quelle
3
Wenn Sie die HomeTaste gedrückt halten, werden nur die letzten 6 geöffneten Apps aufgelistet, nicht die laufende.
@ Loïc: es zeigt 8 für mich.
Ale
1
@LoicWolff, AlEverett Das hängt vom verwendeten Launcher und dem ROM selbst ab.
t0mm13b
Das stimmt nicht ganz. Aktivitäten werden unter Android nicht im Hintergrund ausgeführt.
Dan Hulme
12

Einige Apps haben in ihren Menüs die Option "Beenden". Die meisten nicht.

Sie brauchen sich nicht wirklich darum zu kümmern. Sie können einfach zu der App wechseln, die Sie als Nächstes benötigen. Android leistet gute Arbeit, um bei Bedarf Ressourcen freizusetzen.

Update : AndroidSpin hat einige reale Untersuchungen durchgeführt .

Ale
quelle
Nizza Link, Ty :)
Flow
7

Aktivitäten laufen nicht im Hintergrund

In Android werden Aktivitäten (dh der Teil der App, den Sie sehen können) niemals im Hintergrund ausgeführt. Sie können nur laufen (und Batteriestrom verbrauchen), während sie auf dem Bildschirm sind. Die Aktivität nicht mehr läuft , unabhängig davon , ob Sie zu Hause oder zurück , es zu verlassen. Der einzige Unterschied besteht darin, welche Daten Android von der App zum Speichern anfordert. Daher ist keine der beiden Optionen "der richtige Weg". Es hängt nur davon ab, was Sie tun möchten.

Zuhause

Wenn Sie zu Hause verwenden , wird die App von Android im selben Status belassen. Wenn Sie später darauf zurückkommen (z. B. über die Liste der zuletzt verwendeten Apps), bleibt der Status unverändert: Auf demselben Bildschirm, mit dem gleichen zeug gezeigt. Wenn es sich beispielsweise um eine E-Mail-App handelt und Sie sich eine E-Mail angesehen haben, merkt sich diese, welche E-Mail es war, und zeigt Ihnen dieselbe an.

Schließlich (nach ungefähr einer halben Stunde) kommt Android zu dem Schluss, dass Sie nicht zur App zurückkehren, und setzt diesen Status zurück: Wenn Sie die App das nächste Mal starten, wird sie vom Front- / Hauptbildschirm aus gestartet. Um das Beispiel fortzusetzen, vergisst die E-Mail-App, welche E-Mail und welchen Ordner Sie sich angesehen haben, und zeigt Ihnen den Posteingang an.

Zurück

Wenn Sie back verwenden , teilen Sie Android mit, dass Sie nicht zu dieser Ansicht zurückkehren möchten. Die Informationen darüber, was Sie sich angesehen haben, werden sofort gelöscht. Wenn Sie die App das nächste Mal starten, wird der Frontbildschirm (z. B. der Posteingang) angezeigt.

Wie bereits erwähnt, können Apps das Verhalten der Schaltfläche " Zurück" steuern. Beispielsweise verwenden Webbrowser diese Funktion, um in den Browserverlauf zurückzukehren. Was ich beschrieben habe, ist das Standardverhalten der Schaltfläche "Zurück". Entwickler werden aufgefordert, dieses Verhalten beizubehalten, um Verwirrung zu vermeiden.

Zwischengespeicherte Hintergrundprozesse

Unabhängig davon, welche Methode Sie verwenden, wird die App von Android so lange im Speicher belassen (aber nicht ausgeführt), wie dies möglich ist. Das soll effizienter werden. Wenn Sie zur App zurückkehren und diese noch im Speicher ist, kann Android sie sofort wieder ausführen. Wenn es nicht noch im Speicher ist, muss Android Zeit und Energie aufwenden, um die App erneut aus dem Speicher zu laden.

In alten Android-Versionen wurden Apps, die auf diese Weise im Hintergrund gespeichert wurden, in die Liste der "aktiven Apps" aufgenommen. Dies ist für Benutzer etwas verwirrend - es lässt die Leute glauben, dass die App tatsächlich noch ausgeführt wird. Neuere Versionen bezeichnen diese Apps daher als "zwischengespeicherte Hintergrundprozesse", um zu verdeutlichen, dass sie nur zwischengespeichert und nicht ausgeführt werden.

Was ist mit Hintergrund-Apps?

Früher habe ich gesagt, dass Aktivitäten nicht im Hintergrund laufen. Wie sucht Ihr E-Mail-Client nach E-Mails? Neben Aktivitäten können Apps auch Dienste haben . Dienste haben keine GUI, mit der Sie arbeiten oder die Sie sehen können, sie werden jedoch im Hintergrund ausgeführt. In der Regel wird ein Dienst nur selten ausgeführt, z. B. um E-Mails einmal pro Stunde zu überprüfen. Der App-Entwickler kann den Dienst jedoch jederzeit ausführen, wodurch der Akku entladen wird.

Das Verlassen einer Aktivität mit " Zurück" oder "Zu Hause" ändert nichts an der Behandlung von Diensten aus derselben App durch Android: Der Dienst kann weiterhin ausgeführt oder zu einem bestimmten Zeitpunkt später ausgelöst werden (das nächste Mal, wenn die E-Mail-Prüfung fällig ist).

Zusammenfassung

Zusammenfassend spielt es keine Rolle, ob Sie " Zurück" oder "Zu Hause" verwenden : Es wird nur geändert, was die App Ihnen beim nächsten Start anzeigt. Dies hat keine Auswirkung auf den Batterieverbrauch. Keines von beiden entspricht dem "Beenden" eines Programms auf Ihrem PC.

Dan Hulme
quelle
Ich bin so froh, dass jemand darüber berichtet hat! Ich bin ein Entwickler, aber ich habe früher für Verizon Wireless gearbeitet und kann Ihnen nicht sagen, wie viele Leute sich darüber Sorgen gemacht haben, als es nicht nötig war.
Roan
3

In Android müssen Anwendungen niemals geschlossen werden, und das Betriebssystem kümmert sich darum, den Speicher aller verbleibenden Anwendungen zu bereinigen, wenn die Ressourcen an anderer Stelle benötigt werden. Die Verwendung eines Taskkillers unterbricht lediglich den normalen Betrieb des Betriebssystems und kann das Gerät sogar verlangsamen, da die Anwendungen immer von Anfang an neu geladen werden müssen.

Der Lebenszyklus von Android-Anwendungen funktioniert so, dass Anwendungen, die sich nicht im Vordergrund befinden, in einen angehaltenen Zustand versetzt werden, in dem keine CPU mehr verwendet wird. nur der Speicherinhalt bleibt erhalten, falls die Anwendung erneut geöffnet wird; und der Speicher wird bei Bedarf freigegeben.

Abgesehen davon ist der Anwendungsentwickler dafür verantwortlich, den Anwendungslebenszyklus zu verfolgen, wenn er seine Anwendung erstellt, sodass einige Bugs oder Fehler auftreten können, die zu einer Anwendung führen, die niemals wirklich anhält oder pausiert. Wenn Sie auf eine solche Anwendung stoßen und diese schließen möchten, können Sie dies über "Einstellungen" -> "Anwendungen" -> "Anwendungen verwalten" tun, indem Sie in der Anwendung "Stopp erzwingen" auswählen.

Aber ich würde wirklich nicht empfehlen, einen Task-Killer zu verwenden, der ständig auf dem Gerät ausgeführt wird.

jmbouffard
quelle
1

Ich möchte in der Antwort von schwiz nur hinzufügen, dass nur wenige Codezeilen erforderlich sind, um die Funktionalität des Zurück-Buttons zu überschreiben. Es ist also nicht immer zuverlässig, die App zu schließen. Wenn der App-Entwickler die App beim Drücken der Zurück-Taste nicht schließen möchte, wird sie nicht geschlossen.

Obwohl die meisten guten App-Entwickler beim Drücken der Zurück-Taste im Home-Menü der App einen Warndialog öffnen, in dem sie gefragt werden, ob der Benutzer die App beenden möchte oder nicht. Wenn Sie auf Beenden klicken, wird die App geschlossen.

Die richtige Antwort könnte sein, dass das Schließen der App vollständig dem App-Entwickler obliegt. Wenn die App beim Drücken der Home-Taste geschlossen werden soll, geben sie den Beendigungscode ein onPause(). Wenn sie es auf die Schaltfläche "Zurück" möchten, legen sie es in die onBackKeyPressed. Es ist also nicht wirklich in der Hand des Benutzers.

Der Benutzer kann nur vermeiden, die Apps zu verwenden, die nicht die richtige Schließfunktion bieten, wenn sie nicht benötigt werden. Die Task-Manager sind kein guter Weg, um die App zu schließen, da sie zum Absturz bringen kann und ihnen nicht die Möglichkeit gibt, ihren Status zu speichern.

Das Betriebssystem schließt die App, wann immer dies erforderlich ist, sodass Sie sich nicht zu viele Sorgen machen sollten.

Bearbeiten:
Es gibt eine Option, um die Anwendungen zu zerstören, sobald Sie die App verlassen, dh wenn Sie auf die Starttaste klicken. Sie können zu Settings-> Developer Options-> gehen Don't keep Activities. Obwohl es sich um eine Entwickleroption handelt, können Sie diese Option verwenden, wenn Sie zu besorgt sind, dass Apps im Hintergrund ausgeführt werden. Beachten Sie jedoch, dass es nicht empfohlen wird, es von Nicht-Entwicklern zu verwenden.

Anfänger
quelle