Bewerbungen schließen [duplizieren]

Ich denke, das hat mit unserer Gewohnheit auf Desktop-Computern zu tun, wo wir

  1. Öffnen Sie eine Anwendung
  2. benutze es
  3. Schließen Sie die Anwendung

AFAIK gibt es keine direkte Möglichkeit innerhalb der Anwendung, sie zu schließen. Und durch Drücken der Home-Taste tritt die App einfach in den Hintergrund. Funktioniert immer noch.

Ich habe die Angewohnheit, Home zu drücken, dann Letzte Apps und alle geöffneten Apps auszublenden.

Ist das eine schlechte Angewohnheit? Soll ich Anwendungen wie GMail, FB, Currents, GNow usw. laufen lassen oder ist es besser, sie zu schließen und so wenig Apps wie möglich laufen zu lassen?

AFAIK, das Schleudern der Apps aus der Ansicht "Letzte Apps" schließt sie nicht, sondern entfernt sie einfach aus Ihrer Ansicht, sodass es nichts anderes tut, als Ihre Unordnung mit den letzten Apps aufzuräumen. Könnte nützlich sein, wenn Sie viele Apps geöffnet haben.
Eine etwas ältere Perspektive dazu, einschließlich des Unterschieds zwischen dem Drücken der Home- und Zurück-Tasten zum Beenden einer App, finden Sie unter Was ist der richtige Weg zum Schließen von Apps in Android?
Nur um den Kommentar von @Propeller (zumindest für neuere Android-Versionen) zu korrigieren, werfen Sie bitte einen Blick auf Was passiert eigentlich, wenn Sie eine App aus der Liste der letzten Apps wischen?

Antworten (4)

Aus Entwicklersicht (meine Sicht):

Anwendungen auf Android funktionieren auf eine bestimmte Weise, sie haben alle ihren eigenen Lebenszyklus, die wichtigsten, über die wir hier sprechen, sind, wenn die Anwendung angehalten oder gestoppt wird (onPause, onStop) und wenn die Anwendung zerstört wird (onDestroy), diese beiden Zustände werden auf unterschiedliche Weise ans Licht gebracht, onPause ist, wenn der Benutzer die Anwendung oder den Bildschirm nicht mehr sehen kann, das ist, wenn der Benutzer die Home-Taste drückt oder auf etwas auf dem Bildschirm klickt, das ihn zu einem anderen Bildschirm bringt, wie zum Beispiel das Drücken eines Links , besteht die Möglichkeit, dass Sie diesen Bildschirm noch benötigen, wenn Sie beispielsweise die Zurück-Taste drücken, um zum Bildschirm zurückzukehren, möchten Sie, dass er immer noch im selben Zustand ist, sodass die Anwendung noch geöffnet ist und auf Ihre Rückkehr wartet.

Der andere Zustand, wenn die Anwendung zerstört wird, kann auf drei Arten geschehen: Erstens könnte der Entwickler etwas hinzugefügt haben, um die Anwendung automatisch zu schließen, zum Beispiel die Endomondo-Anwendung, Sie können Menü > Beenden drücken, dies wird die Anwendung "schließen" und sie wird nicht mehr in Erinnerung bleiben. Der nächste Weg ist, dass der Benutzer darauf zurückdrückt, da es keine Möglichkeit gibt, zum genauen Bildschirm zurückzukehren (z. B. können Sie nicht vorwärts drücken, um dorthin zu gelangen), sodass die Anwendung nicht mehr benötigt wird und geschlossen wird.

Die dritte Art, wie eine Anwendung zerstört oder geschlossen wird, ist, wenn Android mehr Speicher benötigt, wenn dies passiert, werden die Anwendungen gelöscht, die am längsten keine Interaktion hatten. Android erledigt dies selbst, wenn es mehr Speicher benötigt, wird es ihn bekommen.

Es ist also nicht schlimm, Anwendungen offen zu lassen, aber einige Anwendungen können immer noch viel CPU-Leistung und keinen Speicher verbrauchen, wenn sie im Hintergrund laufen. Wenn Sie glauben, dass dies passieren wird, sollten Sie es selbst schließen, Android sollte es sein kann das aber nachholen

Sehen Sie sich hier die Zustände einer Aktivität oder eines Bildschirms an:

Aktivitätslebenszyklus


BEARBEITEN:

  • Zurückdrücken auf einen Bildschirm: Aktivität zerstört ( onPause > onStop > onDestroy)
  • Anwendung bei kürzlich verwendeten Apps wegwischen: Aktivität zerstört ( onPause > onStop > onDestroy)
  • Home drücken: Anwendung bleibt im Speicher, nur wenn der Entwickler keine Funktion zum automatischen Schließen hinzugefügt hat ( onPause > onStop)
  • Navigieren weg von App, Link usw.: Anwendung bleibt im Speicher, wie oben ( onPause > onStop)
Ich bin auch ein Entwickler, also werden diese Informationen sehr leicht von meinem Gehirn verbraucht ... :) Wo also im Flussdiagramm ist das Ereignis, wenn ich auf die letzten Apps drücke und eine App davon wegwische (ich verstehe diesen Vorgang als tatsächlich schließen die App)? Zwischen onPause und onStop oder zwischen onStop und onDestroy ? Wenn es letzteres ist, dann erklären Sie bitte den Zustandsübergang zwischen dem ersten. Aber wenn es das erste ist, kann ich den Übergang zu onDestroy ähnlich wie bei der Garbage Collection sehen? Nicht deterministisches Ereignis?
Schauen Sie sich die Bearbeitung an, denken Sie, das ist, was Sie wollen.
Kindda... Aber ich glaube, Sie ringen bei #1 und #4. Durch Drücken von Zurück wird die App angehalten und nicht zerstört . Es ist immer noch in neueren Apps. Also dasselbe wie nach Hause drücken. und mit # 4: Wegnavigation (dh Link) bringt die App gemäß Flussdiagramm in den angehaltenen Zustand.
Übrigens: Beim Testen mit der GMail-App habe ich tatsächlich einen Fehler darin gefunden, wenn es aus dem gestoppten Zustand wieder aufgenommen wird. :)
Die Aktivität sollte theoretisch auf 1 enden und ich war richtig auf 4, onPause > onStopist richtig

Die Antwort ist einfach: Apps möglichst nicht schließen!

Android kümmert sich um die App-Verwaltung , indem es sie nach Möglichkeit verbleibt (was im Speicher nicht erforderlich ist), was schnellere Startzeiten und eine Wiederaufnahme dort ermöglicht, wo Sie aufgehört haben. Das Auswischen einer App aus der Liste der letzten Apps ist ähnlich wie das Schließen, aber nicht dasselbe.

Das ist technisch nicht besser . Eines der Hauptmerkmale von Android ist die Simulation von Multitasking . Wenn Sie die Anwendung zu einer anderen wechseln (ja, sogar der Home Launcher ist eine Anwendung), hält Android die aktuelle Aktivität an und versucht, die Daten der nächsten in den Speicher zu laden. Hier können also zwei Dinge passieren:

  • Wenn genügend freier Speicherplatz vorhanden ist, werden die Daten geladen und die neue Aktivität gestartet. In diesem Szenario ist es kein Problem, zur letzten Anwendung zurückzukehren, da sie bereits ausgeführt wird.
  • Bei Speichermangel muss Android die Daten der aktuellen Aktivität in den internen Speicher „sichern“. Dies hat Kosten und eine Verzögerung; Danach kann Android die neue Aktivität endlich in den Speicher laden.

Aus Leistungssicht ist es vorteilhaft, so viele Daten wie möglich im RAM-Speicher zu halten. Die Tatsache, dass sich eine App-Daten noch im Speicher befinden , bedeutet nicht, dass sie Batterieressourcen verbraucht, es sei denn, es wird ein Dienst ausgeführt, was nicht immer der Fall ist.

Das Drücken der Tasten Homeoder Backhat also in der Praxis die gleiche Auswirkung auf die Speichernutzung. Android wurde entwickelt, um RAM selbst zu verwalten, und es ist keine gute Idee, Apps zu beenden, es sei denn, Sie wissen wirklich, was Sie tun.

Viele Menschen bekommen Probleme, wenn sie viele Apps verwenden, die Dienste im Hintergrund ausführen. Einige Dienste neigen dazu, immer im Speicher zu bleiben und bestimmte Aufgaben auszuführen (z. B. Sie online zu halten, nach neuen Nachrichten zu suchen usw.). Dies kostet mehr Ressourcen (Speicher und Akku), und wenn Ihr Telefon jedes Mal langsam ist, ist es eine gute Idee, zu überprüfen, welche Dienste ausgeführt werden, und möglicherweise einige davon zu deinstallieren (Sie können sie in sehen Configurations/Applications/Running services).

Wenn Sie mehr darüber erfahren möchten, sollten Sie sich diesen Beitrag ansehen: http://android-developers.blogspot.com.br/2010/04/multitasking-android-way.html

Soweit ich weiß, soll sich Android selbst darum kümmern. Viele Apps haben Dienste, die auch fast getrennt vom sichtbaren Teil ausgeführt werden, und ein Teil des Lebenszyklus von Android-Apps besteht darin, dass das Betriebssystem tatsächlich Threads schließen kann, wenn es dies für richtig hält.

Aber so gut in den Dokumenten vergraben, dass ich mich nicht mehr genau erinnere, wo es ist, ist die Information, dass das "Zurück"-Verlassen einer App dazu neigt, sie zu schließen, anstatt wenn Sie einfach "nach Hause" gehen. Grafikintensive Apps wie 'Angry Birds' sollten eigentlich so geschlossen werden, denn die App bekommt die Möglichkeit, prozessorintensive Threads ordentlich herunterzufahren.