Ich weiß, dass es anscheinend keine gute Idee ist, Apps auf Ihrem iPhone zu schließen, um Batterie zu sparen. Ich habe Fragen und Antworten wie " Hat das erzwingen des Schließens von Apps auf iOS-Geräten Vorteile?" Gelesen . aber es passt immer noch nicht zu mir. Manchmal habe ich festgestellt, dass über 50 Apps ausgeführt werden. Daher macht es keinen Sinn , sie nicht zu schließen.
Vielleicht bin ich ein bisschen alt und man kann alten Hunden einfach keine neuen Tricks beibringen, aber kann hier jemand erklären, warum es besser ist, all diese Apps am Laufen zu halten? Und wenn ich "erklären" sage, meine ich in Laienbegriffen, damit ich verstehen kann.
Antworten:
Du bist nicht allein. Die Menschen sind nur an ihre Desktop-Computergewohnheiten gewöhnt, und es ist verständlich, dass sie diese Gewohnheiten auf ihre iPhones und iPads übertragen.
Lassen Sie mich dies jedoch anhand einer Analogie erklären:
Stellen Sie sich vor, es ist ein heißer Tag und Sie arbeiten draußen im Garten. Du wirst durstig, also gehst du in die Küche, nimmst ein großes Glas, gibst etwas Eis hinein und füllst es mit Wasser. Sie trinken dann die Hälfte davon und leeren den Rest in der Spüle, bevor Sie wieder nach draußen gehen. Kurz darauf wird man wieder durstig, also geht man zurück in die Küche, schnappt sich dasselbe Glas, füllt es mit Eis und füllt es mit Wasser. Wieder trinkst du nur die Hälfte davon und leerst den Rest in der Spüle!
Der obige Workflow macht einfach keinen Sinn. Warum würdest du das Glas nicht mit nach draußen nehmen? Und Sie verschwenden nicht nur Wasser, indem Sie es leeren, sondern Sie verbringen mehr Zeit und Energie damit, dieses Wasser wieder zu beschaffen.
Ebenso verbrauchen Sie beim Beenden einer App tatsächlich etwas Batteriestrom (z. B. Löschen aus dem RAM usw.) und später erneut, wenn Sie sie erneut starten und wieder in den RAM laden müssen.
Daher ist es die meiste Zeit am besten, Apps offen zu lassen. Obwohl sie offen sind, sitzen sie wirklich nur in einer Art Suspended-Modus, der keinerlei Batteriestrom verbraucht. Ja, die App ist immer noch im RAM geladen und nimmt Speicherplatz ein , aber sie macht eigentlich nichts - sie liegt nur schlafend da. Und da in diesem Zustand kein Akku verbraucht wird, hat das Beenden keinen Vorteil. Dies gilt insbesondere dann, wenn Sie wissen, dass Sie die App den ganzen Tag über immer wieder verwenden werden.
Es ist auch wirklich nicht vorteilhaft, das Beenden einer App zu erzwingen, da iOS dies für Sie erledigt, wenn dies erforderlich ist, um RAM freizugeben. Wenn Sie also 50 Apps geöffnet haben und diese geöffnet bleiben, wurde iOS nicht so weit gedrängt, dass Sie eines davon schließen müssen, um Speicherplatz freizugeben.
Nun gibt es wie immer Ausnahmen von der Regel (z. B. Apps, die Hintergrundaufgaben ausführen müssen). Ein Beispiel hierfür ist das Abspielen von Musik, während Sie mit Ihrem Telefon andere Dinge erledigen, oder das Herunterladen von Inhalten im Hintergrund oder das Zählen der Anzahl der Schritte, die Sie an einem Tag ausführen usw. iOS hat jedoch ein extremes Problem Effizienter Prozess für das Verwalten von Hintergrund-Apps / -Aufgaben. Wenn Sie diese beenden, sagen Sie im Grunde, dass Sie dem Betriebssystem nicht vertrauen, dass es seine Aufgabe ordnungsgemäß erledigt.
Sie können Ihre Apps also jederzeit beenden (z. B. weil sie eingefroren sind usw.), tun dies jedoch nicht, um den Akku zu schonen. In der Tat, wenn Sie dies tun, erreichen Sie das Gegenteil und verbrauchen mehr Batterieleistung im Laufe des Tages!
Zusammenfassung
Die meisten Apps im App Switcher sind in einem angehaltenen Zustand. Dies bedeutet, dass sie nicht auf dem Bildschirm angezeigt werden, Code ausführen, die CPU oder GPU verwenden oder den Akku verwenden. Sie befinden sich jedoch noch im Arbeitsspeicher, bis sie (falls erforderlich) vom System gelöscht werden, um Speicher freizugeben:
Quelle : Siehe Tabelle 2-3 im ersten Verweis am Ende dieser Antwort.
Die einzigen Apps, die zu einem bestimmten Zeitpunkt auf Ihrem iPhone ausgeführt werden, sind die aktive App (dh die auf dem Bildschirm sichtbare) und alle anderen Apps, die im Hintergrund ausgeführt werden . ( Hinweis: Es gibt einige vorübergehende Ausnahmen in Bezug auf Apps, die noch Zeit benötigen, um den Code auszuführen, den sie bereits gestartet haben, während sie aktiv waren. Dies liegt normalerweise nur in der Größenordnung von Sekunden, kann sich aber theoretisch auf über eine Minute erstrecken.) .
Verweise
quelle
Die angegebenen Antworten sind richtig, ich möchte nur aus der Sicht eines iOS-Entwicklers klären.
iOS ist darauf ausgelegt, so viele Dinge wie möglich zu verwalten, damit Sie (und Entwickler) sich nicht darum kümmern müssen. Das Endergebnis ist ein etwas einheitlichen Ansatzes für Anwendungen, einschließlich derjenigen von Apple (auch tho manchmal Apple selbst schneidet einige Ecken).
Davon abgesehen lautet die Prämisse:
Abgesehen davon geht man davon aus, dass die meisten Benutzer Apps schließen, in der Hoffnung, die Akkulaufzeit zu verlängern, und den Eindruck haben, dass durch das Schließen weniger Energie für die Aufrechterhaltung des Betriebs dieser Apps verschwendet wird.
Die Wahrheit ist, dass dies unter iOS so gut wie nie der Fall ist. Wenn Sie die Home-Taste drücken, wird die App angehalten und verwendet keine Ressourcen mehr, die andere Apps möglicherweise benötigen. Wenn eine neue App (oder sogar iOS) diesen Speicher benötigt, kümmert sie sich selbst darum, aber nur, wenn dies erforderlich ist.
Wenn Sie die Apps immer wieder schließen, wird iOS gezwungen, die möglicherweise teure Aufgabe zu übernehmen, eine App wirklich zu entladen, ihren Status zu speichern und was nicht, mit dem zusätzlichen Problem, dass all diese Dinge zurückgesetzt werden müssen, wenn Sie die App erneut öffnen Abhängig von der Komplexität der App müssen viele Daten aus dem Speicher in den Hauptspeicher des Telefons eingelesen werden. All diese zusätzliche Arbeit hätte vermieden werden können, wenn Sie die App einfach in ihrem "angehaltenen" Zustand belassen hätten.
Wie auch immer ...
In einigen Fällen (und sie sind selten, aber nicht unmöglich selten) möchten Sie Apps töten, die sich schlecht verhalten. Beispiele sind (aber nicht beschränkt auf): Apps, die sich mit Hintergrundaudio befassen, oder asynchrone Dienste wie Standort (bei denen die App nach einem Standort fragt und iOS nach dem Standort fragen muss, z. B. indem es bei Bedarf das GPS abfeuert) , Video-Streaming usw.
Ich hatte unzählige Instanzen von Apps wie Lyft, United Airlines und sogar Twitter, die kaputt gingen (oder einfach nicht richtig funktionierten), weil Sie sich in einem schlechten Netzwerk befanden (iOS ist wirklich schlecht geworden) Wiederherstellung nach einigen fehlerhaften Netzwerken in den letzten 3-4 Releases) oder das Netzwerk reagiert einfach nicht richtig.
Mit der Zeit verschwinden die meisten dieser Probleme und die App funktioniert wieder. Aber wenn Sie die App wirklich brauchen, um jetzt zu funktionieren , müssen Sie den Preis dafür bezahlen, sie zu töten und neu zu starten. Sie haben dadurch mehr Batterie verbraucht, aber hey, Sie haben sie gebraucht.
Und wenn das verwirrend war, kann ich Ihnen eine Auto-Analogie geben, denn das ist es, was wir die ganze Zeit tun.
Die Auto-Analogie
Ich weiß, dass die Autotechnik Fortschritte gemacht hat und dies kein gutes Beispiel mehr ist, aber spielen Sie hier mit mir .
Wenn man den Motor eines Autos zündet, verbraucht man früher mehr Kraftstoff als nur im Leerlauf. Wenn Autos Vergaser anstelle von Einspritzdüsen hatten, war dies noch schlimmer. Aus diesem Grund können Sie den Motor abstellen, wenn Sie an einer roten Ampel stehen und theoretisch mehr Kraftstoff verbrauchen als nur eine Minute im Leerlauf. Neuere Autos haben einen viel effizienteren Mechanismus und können den Motor abstellen, bleiben aber in einem halb angelassenen Zustand (lassen Sie uns hier nicht zu sehr auf Autos eingehen).
Wenn Sie Apps schließen, entspricht dies einer Person, die das Auto an jeder Ampel ausschaltet. Im Gegensatz dazu lassen Sie es einfach im Leerlauf, bis Sie es wieder benötigen, normalerweise einige Sekunden später.
Die Analogie ist nicht perfekt, denn in Wahrheit verbrauchen leere Autos immer noch Kraftstoff, während suspendierte Apps dies nicht tun. In den Augen des Telefons wird jedoch nichts im Zusammenhang mit Speicher / Akku verwendet (vorausgesetzt, es ist offensichtlich, dass keine Hintergrundverarbeitung aktiv ist).
Grundsätzlich schalten Sie den Motor jedes Mal aus, wenn Sie eine App beenden, und Sie lassen nicht zu, dass der „intelligente“ Mechanismus “des Leerlaufs Ihres Motors für iOS sorgt. Wenn die LED grün leuchtet, können Sie einfach auf das Gaspedal und drücken Der Motor läuft schneller als wenn er zu 100% gestoppt worden wäre. Wenn Sie einen Motor aus dem Stand starten und dabei mehr Leistung als nur Kraftstoff verbrauchen, müssen Sie den Anlasser drehen, damit der Motor angelassen, Kraftstoff eingespritzt und Funken erzeugt werden können. Es ist also eine Menge Arbeit hinter den Kulissen. Apps sind wie Motoren. :)
quelle
In Analogie zu Ihrem Auto: Wenn Sie tagsüber zu viele Stopps einlegen und den Motor immer wieder abstellen und starten müssen, wird die Batterie vollständig entladen sein. Dies kann passieren, wenn die Ladezeit zwischen den Stopps nicht ausreicht, um die enorme Energiemenge wiederherzustellen, die bei jedem Motorstart aus der Batterie gesaugt wird. Außerdem ist es nicht gut für den Starter und den Gesamtgasverbrauch. Aus diesem Grund lassen viele Lieferwagenfahrer den Motor während ihrer kurzen Pausen im Leerlauf laufen.
Diese Analogie ähnelt IMO dem Mythos der Speicherersparnis.
quelle
Wir werfen einfach eine abweichende Meinung da draußen, um darüber zu diskutieren. Dieses Konzept hat ein gewisses Maß an Wahrheit, aber sobald Sie eine bestimmte Anzahl von Apps geöffnet haben, werden Sie wahrscheinlich abnehmende Renditen feststellen, wenn Sie Apps aussetzen.
Je mehr Apps Sie geöffnet haben, desto mehr RAM wird sich offensichtlich verbrauchen. Normalerweise wird jede App im Speicher als Arbeitsspeicher aufgeteilt, den die App selbst aktuell verwendet, als Arbeitsspeicher, den die App zur Verfügung haben möchte, und als Arbeitsspeicher, den das Betriebssystem der App tatsächlich zur Verfügung gestellt hat, wodurch Sie die endgültige Menge an Arbeitsspeicher für die App erhalten darf verwenden. Der Grund, warum die App einen separaten Teil dieses Speichers als Speicher verwendet, den sie verwenden möchte, ist, dass die App möglicherweise ihren Haufen vergrößern muss, dies jedoch nicht unbedingt von Anfang an tun möchte, da dies für die Garbage Collectors schädlich ist Haben Sie große Heaps (große Heaps = längere Garbage Collections), so wird die App einen Teil des Arbeitsspeichers beiseite legen, der derzeit nicht verwendet wird. Dieser Teil kann jedoch von der App ausschließlich verwendet werden, wenn dies erforderlich ist.
Angenommen, das Betriebssystem lässt meiner App bis zu 700 MB zu, und die App stellt 300 MB dieses Speichers für sich selbst zur Verfügung, sodass 400 MB für meine App zur Verfügung stehen, wenn sie dies wünscht. Dann öffnet sich jedoch eine andere App und benötigt Speicher. Das Betriebssystem überprüft alle verschiedenen Apps und entscheidet, ob es in Ordnung ist, Speicher aus einer anderen App zu ziehen und für die neue App zu verwenden. In diesem Fall kann es entscheiden, 150 MB aus dem für meine Apps zulässigen Speicher zu entnehmen und der neuen App zu geben Je mehr Apps Sie geöffnet haben, desto mehr Arbeit muss das Betriebssystem leisten, um tatsächlich zu entscheiden Welchen App-Speicher kann es entleeren, um den neuen App-Speicher freizugeben?
In diesem Sinne erhöht jede App, die geöffnet und angehalten wird, die Komplexität dieses Prozesses, wodurch die CPU-Belastung zunimmt und möglicherweise mehr Batteriestrom zum Öffnen zukünftiger Apps benötigt wird, als der durch das Nichtschließen anderer Apps eingesparte Batteriestrom.
Wenn Sie eine App nicht wirklich beenden, werden möglicherweise Hintergrunddienste ausgeführt, die die Verarbeitungsleistung beeinträchtigen, z. B. Benachrichtigungen, die Sie über einen Timer benachrichtigen sollen usw. Auf der anderen Seite einige Apps verwenden keinen echten Hintergrunddienst und tatsächlich Push-Benachrichtigungen von Diensten wie Firebase, bei denen die App zu keinem Zeitpunkt geöffnet sein muss.
Je mehr Apps Sie kontinuierlich öffnen, desto fragmentierter ist der Speicher zunächst, bis das Betriebssystem den Speicher durchläuft und bereinigt, um ihn sauberer und effizienter zu gestalten Je mehr Speicher von Apps belegt wird, desto intensiver ist dieser Vorgang für Ihr Gerät.
Das heißt, Apps offen zu lassen ist meist effizienter, es sei denn, es werden zu viele Apps geöffnet. Ich bin mir jedoch nicht sicher, wie viele Apps geöffnet sein müssen, um diese Schwelle zu erreichen, wenn die Anzahl vorhanden ist.
Quellen:
SGen Garbage Collector für Mono: http://www.mono-project.com/docs/advanced/garbage-collector/sgen/
Übersicht über den Speicherprofiler für iOS- und Android-Xamarin-Apps, der die Art und Weise anzeigt, wie der Speicher von der App verwaltet wird (Arbeitssatz, private Bytes, zugewiesener Speicher usw.) https://blog.xamarin.com/say-hello-to -der-xamarin-profiler /
quelle
Clean Cut-Version: Es ist besser, weil das Betriebssystem so konzipiert wurde, dass es besser ist, bis der Benutzer möchte, dass Apps aktiviert bleiben (oder in einem "angehaltenen" Zustand sind), um später mehr Informationen zu Ihren Aktionen zu erhalten [*] wenn benötigt.
Längere Version: Apps, die "suspendiert" sind, haben ihren Status im Speicher gespeichert. Wenn Sie sie also einmal starten möchten, benötigen die Prozesse zum Zurückladen weniger Zeit für den Prozessor und fast keine Verwendung der Speichereinheit ... Mit das können Sie nicht wissen, ob Ihre Apps noch andere Dinge im Hintergrund tun, die in vielen Fällen dort liegen und Daten über Sie sammeln.
[*] Um das Sammeln von Daten zu erläutern, können Apps, die im Speicher gespeichert sind, entweder "angehalten" oder im Hintergrund aktiv sein. Sie als Besitzer des Geräts können nicht wissen (wenn Sie nicht über das Wissen und einige andere Apps verfügen, um die CPU-Auslastung aktiv zu scannen), was die App wirklich tut. Aus Sicherheitsgründen würde ich empfehlen, alle Apps zu schließen, die Sie in den nächsten 10 Minuten nicht verwenden werden.
PS: Diese Übung wird auch auf Android-Geräten durchgeführt.
quelle