Es gibt immer noch viele Leute, die nicht wissen, wie Multitasking in iOS funktioniert. Zunächst muss jedoch darauf hingewiesen werden, dass es sich hierbei nicht um echtes Multitasking handelt, sondern um eine sehr smarte Lösung, die weder das System noch den Benutzer belastet.
Man hört oft den Aberglauben, dass Apps, die in iOS im Hintergrund laufen, den Arbeitsspeicher füllen, was zu einer Verlangsamung des Systems und einer verkürzten Akkulaufzeit führt, sodass der Benutzer sie manuell ausschalten sollte. Die Multitasking-Leiste enthält eigentlich keine Liste aller laufenden Hintergrundprozesse, sondern nur die zuletzt gestarteten Anwendungen. Der Benutzer muss sich also bis auf wenige Ausnahmen keine Gedanken über im Hintergrund laufende Prozesse machen. Wenn Sie den Home-Button drücken, geht die Anwendung normalerweise in den Ruhezustand oder wird geschlossen, sodass sie weder den Prozessor noch den Akku mehr belastet und bei Bedarf den nötigen Speicher freigibt.
Es handelt sich also nicht um vollwertiges Multitasking, wenn Dutzende Prozesse laufen. Es läuft immer nur eine Anwendung im Vordergrund, die bei Bedarf angehalten oder ganz ausgeschaltet wird. Lediglich einige Nebenprozesse laufen im Hintergrund. Aus diesem Grund wird es unter iOS selten zu einem Anwendungsabsturz kommen, da Android beispielsweise mit laufenden Anwendungen überlastet ist, um die sich der Benutzer kümmern muss. Dies macht einerseits die Arbeit mit dem Gerät unangenehm, andererseits führt es beispielsweise zu langsamen Startvorgängen und Übergängen zwischen Anwendungen.
Laufzeittyp der Anwendung
Die Anwendung auf Ihrem iOS-Gerät befindet sich in einem dieser fünf Zustände:
- Läuft: Die Anwendung wird gestartet und läuft im Vordergrund
- Hintergrund: es läuft immer noch, läuft aber im Hintergrund (wir können andere Anwendungen verwenden)
- Ausgesetzt: Benutzt immer noch RAM, läuft aber nicht
- Inaktiv: die Anwendung läuft, aber indirekte Befehle (z. B. wenn Sie das Gerät sperren, während die Anwendung läuft)
- Nicht laufen: Die Anwendung wurde beendet oder nicht gestartet
Die Verwirrung entsteht, wenn die App in den Hintergrund tritt, um nicht zu stören. Wenn Sie die Home-Taste drücken oder die Anwendung mit der Geste schließen (iPad), tritt die Anwendung in den Hintergrund. Die meisten Apps werden innerhalb von Sekunden angehalten (Sie werden im RAM des iDevice gespeichert, sodass sie schnell gestartet werden können, sie belasten den Prozessor nicht so stark und schonen so die Akkulaufzeit). Sie könnten denken, dass dies der Fall ist, wenn eine App weiterhin Speicher verbraucht um es manuell zu löschen, um es freizugeben. Aber Sie müssen das nicht tun, denn iOS erledigt das für Sie. Wenn eine anspruchsvolle Anwendung im Hintergrund angehalten wird, beispielsweise ein Spiel, das viel RAM verbraucht, entfernt iOS sie bei Bedarf automatisch aus dem Speicher und Sie können sie neu starten, indem Sie auf das Anwendungssymbol tippen.
Keiner dieser Zustände wird in der Multitasking-Leiste angezeigt. Das Panel zeigt nur eine Liste der zuletzt gestarteten Apps an, unabhängig davon, ob die App gestoppt, angehalten oder im Hintergrund ausgeführt wird. Möglicherweise stellen Sie auch fest, dass die aktuell ausgeführte Anwendung nicht im Multitasking-Bedienfeld angezeigt wird
Hintergrundaufgaben
Wenn Sie die Home-Taste drücken, wird die Anwendung normalerweise im Hintergrund ausgeführt. Wenn Sie sie nicht verwenden, wird sie automatisch innerhalb von fünf Sekunden angehalten. Wenn Sie beispielsweise einen Podcast herunterladen, wertet das System diesen als laufende Anwendung und verzögert den Abbruch um zehn Minuten. Spätestens nach zehn Minuten wird der Vorgang aus dem Speicher freigegeben. Kurz gesagt, Sie müssen sich keine Sorgen darüber machen, Ihren Download durch Drücken der Home-Taste zu unterbrechen, wenn der Download nicht länger als 10 Minuten dauert.
Läuft auf unbestimmte Zeit im Hintergrund
Bei Inaktivität beendet das System die Anwendung innerhalb von fünf Sekunden, bei Downloads verzögert sich die Beendigung um zehn Minuten. Es gibt jedoch eine kleine Anzahl von Anwendungen, die im Hintergrund ausgeführt werden müssen. Hier sind einige Beispiele für Apps, die in iOS 5 unbegrenzt im Hintergrund ausgeführt werden können:
- Anwendungen, die Ton abspielen und für eine Weile unterbrochen werden müssen (Musik während eines Telefongesprächs pausieren usw.),
- Anwendungen, die Ihren Standort verfolgen (Navigationssoftware),
- Anwendungen, die VoIP-Anrufe empfangen, wenn Sie beispielsweise Skype verwenden, können Sie einen Anruf auch dann empfangen, wenn die Anwendung im Hintergrund läuft.
- Automatische Downloads (z. B. Zeitungskiosk).
Alle Anwendungen sollten geschlossen werden, wenn sie keine Aufgabe mehr ausführen (z. B. Hintergrund-Downloads). Es gibt jedoch Ausnahmen, die kontinuierlich im Hintergrund laufen, wie zum Beispiel die native Mail-App. Wenn sie im Hintergrund ausgeführt werden, beanspruchen sie Speicher, CPU-Auslastung oder verkürzen die Akkulaufzeit
Apps, die auf unbestimmte Zeit im Hintergrund laufen dürfen, können während der Ausführung alles tun, was sie tun, von der Musikwiedergabe bis zum Herunterladen neuer Podcast-Episoden.
Wie ich bereits erwähnt habe, muss der Benutzer die im Hintergrund laufenden Apps nie schließen. Die einzige Ausnahme hiervon besteht, wenn eine im Hintergrund laufende App abstürzt oder nicht ordnungsgemäß aus dem Ruhezustand erwacht. Der Benutzer kann die Anwendungen dann manuell in der Multitasking-Leiste schließen, was jedoch selten vorkommt.
Im Allgemeinen müssen Sie also keine Hintergrundprozesse verwalten, da das System diese selbst erledigt. Deshalb ist iOS ein so frisches und schnelles System.
Aus der Sicht eines Entwicklers
Die Anwendung kann im Rahmen von Multitasking mit insgesamt sechs verschiedenen Zuständen reagieren:
1. applicationWillResignActive
In der Übersetzung bedeutet dieser Zustand, dass die Anwendung in Zukunft (in wenigen Millisekunden) als aktive Anwendung (d. h. als Anwendung im Vordergrund) zurücktritt. Dies geschieht beispielsweise, wenn während der Nutzung der Anwendung ein Anruf eingeht, diese Methode aber gleichzeitig auch diesen Zustand verursacht, bevor die Anwendung in den Hintergrund geht, sodass Sie diese Änderungen berücksichtigen müssen. Diese Methode eignet sich auch, um beispielsweise bei einem eingehenden Anruf alle ausgeführten Aktivitäten zu unterbrechen und bis zum Ende des Anrufs zu warten.
2. applicationDidEnterBackground
Der Status zeigt an, dass die Anwendung in den Hintergrund getreten ist. Entwickler sollten diese Methode verwenden, um alle Prozesse anzuhalten, die nicht unbedingt im Hintergrund ausgeführt werden müssen, und den Speicher von ungenutzten Daten und anderen Prozessen zu befreien, z. B. ablaufende Timer, das Löschen geladener Bilder aus dem Speicher, die nicht unbedingt benötigt werden, oder das Schließen Verbindungen mit Servern, es sei denn, es ist für die Anwendung von entscheidender Bedeutung, Verbindungen im Hintergrund herzustellen. Wenn die Methode in einer Anwendung aufgerufen wird, sollte sie im Wesentlichen dazu verwendet werden, die Anwendung vollständig anzuhalten, wenn ein Teil davon nicht für die Ausführung im Hintergrund erforderlich ist.
3. applicationWillEnterForeground
Dieser Zustand ist das Gegenteil des ersten Zustands, in dem die Anwendung in den aktiven Zustand übergeht. Der Status bedeutet einfach, dass die schlafende App innerhalb der nächsten paar Millisekunden aus dem Hintergrund fortfährt und im Vordergrund erscheint. Entwickler sollten diese Methode verwenden, um alle Prozesse fortzusetzen, die inaktiv waren, während die Anwendung im Hintergrund lief. Verbindungen zu Servern sollten wiederhergestellt, Timer zurückgesetzt, Bilder und Daten in den Speicher geladen werden und andere notwendige Prozesse können wieder aufgenommen werden, bevor der Benutzer die geladene Anwendung wieder sieht.
4. applicationDidBecomeActive
Der Status zeigt an, dass die Anwendung gerade aktiv geworden ist, nachdem sie in den Vordergrund wiederhergestellt wurde. Dies ist eine Methode, mit der zusätzliche Anpassungen an der Benutzeroberfläche vorgenommen oder die Benutzeroberfläche in ihren ursprünglichen Zustand zurückversetzt werden können usw. Dies geschieht tatsächlich in dem Moment, in dem der Benutzer die Anwendung bereits auf dem Display sieht, es ist also notwendig, dies zu tun Bestimmen Sie sorgfältig, was in der Methode dieser und der vorherigen Methode passiert. Sie werden nacheinander mit einem Unterschied von einigen Millisekunden aufgerufen.
5. applicationWillTerminate
Dieser Zustand tritt einige Millisekunden vor dem Beenden der Anwendung ein, also bevor die Anwendung tatsächlich beendet wird. Entweder manuell beim Multitasking oder beim Ausschalten des Geräts. Die Methode soll genutzt werden, um verarbeitete Daten zu speichern, alle Aktivitäten zu beenden und nicht mehr benötigte Daten zu löschen.
6. applicationDidReceiveMemoryWarning
Es ist der letzte Zustand, der am meisten diskutiert wird. Es ist dafür verantwortlich, die Anwendung bei Bedarf aus dem iOS-Speicher zu entfernen, wenn sie Systemressourcen unnötig beansprucht. Ich weiß nicht genau, was iOS mit Hintergrund-Apps macht, aber wenn es eine App benötigt, um Ressourcen für andere Prozesse freizugeben, fordert es sie mit einer Speicherwarnung auf, alle verfügbaren Ressourcen freizugeben. Daher wird diese Methode in der Anwendung aufgerufen. Entwickler sollten es so implementieren, dass die Anwendung den zugewiesenen Speicher aufgibt, alle laufenden Prozesse speichert, unnötige Daten aus dem Speicher löscht und ansonsten ausreichend Speicher freigibt. Es ist wahr, dass viele Entwickler, selbst Anfänger, nicht über solche Dinge nachdenken oder sie nicht verstehen, und dann kann es passieren, dass ihre Anwendung die Akkulaufzeit gefährdet und/oder sogar im Hintergrund unnötig Systemressourcen verbraucht.
Urteil
Diese sechs Zustände und die damit verbundenen Methoden bilden den Hintergrund allen „Multitaskings“ in iOS. Es ist ein großartiges System, solange Entwickler nicht die Tatsache außer Acht lassen, dass sie dafür verantwortlich sein müssen, was die Anwendung auf den Geräten ihrer Benutzer ausgibt, wenn sie minimiert werden oder Warnungen vom System erhalten usw.
Source: Macworld.com
Autoren: Jakub Požárek, Martin Doubek (ArnieX)
Haben auch Sie ein Problem zu lösen? Sie benötigen Beratung oder finden vielleicht die passende Anwendung? Zögern Sie nicht, uns über das Formular im Abschnitt zu kontaktieren Beratung, das nächste Mal werden wir Ihre Frage beantworten.
Hallo, wirklich cooler Artikel, aber ich frage mich, ob Sie technischen Support dafür haben. Denn ich habe den Akku mehrmals abends vor dem Schlafengehen gelöst und es kam vor, dass es bei ausgeschaltetem WLAN und mobilen Daten länger dauerte als in einem anderen Fall mit ausgeschaltetem WLAN und nur 3G.
Leider macht man unter iOS die Erfahrung, dass Anwendungen manuell ausgeschaltet werden müssen und das System nicht mehr so gut läuft wie zuvor.
Ich habe mein iPhone durch ein Windows Phone (Samsung Omnia W für 6200,-) ersetzt und die Geschwindigkeit des Systems ist auf einem ganz anderen Niveau.
Ich fürchte, wenn die Windows 8 Metro-Tablets auf den Markt kommen, werde ich auch das iPad ersetzen ...
@007 – ja, wenn Sie die alten iPhone3Gs mit den neuen WP-Geräten vergleichen, dann ja (wer hätte das erwartet?), wird das WP um einiges schneller sein. Ansonsten kommt Ihnen das Gerede über Karlulka nicht recht und es war angebracht, die aktuelle HW zu vergleichen. Ich habe auch WP7 gekauft und bin schließlich bei 4s gelandet, was einen völlig anderen Grad an Benutzerfreundlichkeit darstellt als WP7. Gehen Sie also angenehm und endlos durch die Kacheln.
Ich stimme Paja voll und ganz zu
Ich würde wieder aus den Trümmern eines anderen Fasses beitragen – Samsung Galaxy S und iPhone 4 – ich würde sagen, vom Alter her vergleichbar? Zur Zeit von iOS 4 und in Bezug auf Benutzerfreundlichkeit und Geschwindigkeit anderswo als bei Android hat Apple das Konzept der Arbeit mit Anwendungen sehr gut gelöst, aber das Gleiche gilt nicht mehr für Android. Am Ende bin ich trotzdem beim 4S gelandet und kann mich nicht beschweren, denn „es funktioniert einfach“ ... und es funktioniert sehr schnell!
Die Theorie ist schön... Aber in der Praxis schließe ich die Anwendung immer noch in der Bar ab ;)
Danke, sehr interessant, pragmatisch, interessant, es mangelt nicht an Schwung und Tiefgang. Dies unterstreicht deutlich die Besessenheit der heutigen Jugend von dieser verbotenen Marke! Aber danke für sie, sowie für diesen Artikel.
Der Artikel ist völlig falsch.
Die Anwendung wird nicht, wie fälschlicherweise behauptet, beim Drücken des Home-Buttons beendet, sondern pausiert. D.h. Auf keinen Fall aus dem Speicher löschen und nicht aufgeben. Unterbrechen Sie einfach die Ausführung. iOS gibt dieser App 0 % CPU-Zeit. Es findet definitiv kein „Austausch“ irgendwo im iDevice-Speicher statt, wie im Artikel angegeben. Das liegt vor allem an der Möglichkeit, die App-Umschaltung zu nutzen.
Die Anwendung wird aus dem Speicher entfernt, wenn das Telefon nicht mehr über genügend Speicher verfügt, um andere Anwendungen mit höherer Priorität auszuführen (normalerweise wird eine andere Anwendung im Vordergrund ausgeführt).
Im ersten Fall haben Sie Recht, es handelte sich um einen Übersetzungsfehler. Was den Austausch angeht, davon reden wir hier nicht, sondern vom Arbeitsspeicher, nicht vom Speicherplatz im iOS-Gerät.
das Abbild der Anwendung wird für eine begrenzte Zeit im Speicher gespeichert, bis es per Befehl erneut aufgerufen wird (siehe 13,7 GB von 16 GB: Die 2,3 GB sind für das System und ausgesetzte Anwendungen reserviert)
Dabei muss zwischen Anwendungen wie Navigation, Skype und dergleichen unterschieden werden, ob diese Anwendungen auch im Hintergrund aktiv bleiben oder eine bestimmte Funktion nicht beendet wird und beispielsweise weiterhin Daten über ihren Standort oder Standortinformationen sendet. Oder wie Vokul im Pord-Modus zuhört und Multitasking immer noch im Hintergrund zuhört.
Diese Anwendungen entladen den Akku und müssen manuell geschlossen werden und dürfen nicht auf iOS warten. bei anderen ist es nicht notwendig, dort nur für den Fall, dass die Anwendung abstürzt.
Ich kann dem Artikel nicht zustimmen. Mindest. Auf einem iPad der 1. Generation (iOS 5.0.1) ist klar zu erkennen, ob ich viele „offene“ Apps in der Multitasking-Leiste habe oder nur wenige. iOS versucht zwar, den Speicher zu bereinigen, aber das reicht offensichtlich nicht aus – die geringe Größe des Arbeitsspeichers ist wahrscheinlich seine größte Schwäche.
Es hängt also viel vom System und der verwendeten Hardware ab. Es ist ziemlich logisch, dass es auf einem iPad 1 mit iOS 5.0.1 schlechter sein wird als auf einem iPad der 2. Generation
Tut mir leid, Kumpel, das ist eine Beschreibung, wie es IDEAL funktionieren sollte. Die Realität sieht leider ganz anders aus und das wüsste man, wenn man Apple-Produkte mindestens genauso häufig nutzt wie ich (also gelegentlich).
„Man hört oft den Aberglauben, dass Apps, die in iOS im Hintergrund laufen, den Arbeitsspeicher füllen“,
Es ist kein Aberglaube, es ist einfach eine Tatsache. Schließlich behaupten Sie es selbst im Artikel.
„Wie ich bereits erwähnt habe, muss der Benutzer die im Hintergrund laufenden Anwendungen nie schließen.“
UNSINN. Das ist einfach Blödsinn, Apfelpropaganda, sei mir nicht böse.
„Aber Sie müssen das nicht tun, denn iOS erledigt das für Sie. Wenn eine anspruchsvolle Anwendung im Hintergrund angehalten wird, beispielsweise ein Spiel, das viel RAM verbraucht, entfernt iOS sie bei Bedarf automatisch aus dem Speicher und Sie können sie neu starten, indem Sie auf das Anwendungssymbol tippen.“
Nicht wahr. Die Situation ist etwas anders. Ein typisches Beispiel: Ich habe anspruchsvolle Anwendungen im Hintergrund laufen, ich brauche Spiele. Ich starte den Browser, öffne ein paar Tabs -> brauche mehr Speicher. Was wird passieren? Ich fordere ständig Anwendungen im Hintergrund auf, im Gegenteil, DER BROWSER SELBST FÜLLT. Wenn ich die anspruchsvollen Anwendungen manuell schließe, funktioniert der Browser lange Zeit ohne Probleme.
Das ist Praxis, keine Theorie. Und es wundert mich, dass man das als langjähriger Nutzer eines Apple-Produkts immer noch nicht weiß.
Danke, das ist sehr gut beschrieben und gut erklärt. Du hast mir sehr geholfen ;-) ♥
Nur zur Einleitung, ich bin weder für noch gegen iOS, genau wie bei Android, aber hier gibt es ein paar seltsame Dinge, wenn, wie es hier geschrieben steht: „Bei iOS kommt es selten zu einem Anwendungsabsturz“, dann bei Android, Anwendungen stürzen wahrscheinlich einmal im Jahr ab: -P
http://dotekomanie.blog.mobilmania.cz/2012/02/stabilita-ios-vs-android/
Ja, aber die Fälle, in denen Sie die Anwendung manuell schließen müssen, sind wirklich minimal. Ich habe es ungefähr einmal verwendet? ;-) und einen Link zum Vergleichstest von Mobilemania zu geben ist ziemlich sinnlos, wenn ich etwas über die Werbung lesen will, die Google bezahlt hat, schaue ich dort nach ;-) Jeder kann jedes Android-Handy in die Hand nehmen und es läuft nicht sauber, mit Ausnahme des Galaxy Nexus, bei dem das System mehr oder weniger maßgeschneidert ist. Insgesamt ist Android eine Katastrophe
@Mek – Ich benutze Apple-Produkte seit mehreren Jahren täglich und das ist mir noch nie passiert, also funktioniert deine Theorie irgendwie nicht.
UNKRAUT:
@redakce – Man sieht, dass an der Website ständig gearbeitet wird oder sich etwas tut, aber ich habe das Gefühl, dass es keine Woche dauert, bis alles so funktioniert, wie es sollte. Und ich komme nicht mehr wirklich hierher, weil mir der neue Look nicht steht. Zumindest habe ich die mobile Version auf dem iPhone verwendet, aber jetzt funktioniert es überhaupt nicht – wie kommt es? Sie reagieren derzeit nicht auf Beiträge in den Kommentaren.
@SteveJSF Leider laufen die Dinge nicht immer so, wie wir es uns wünschen. Was die Antworten betrifft: Das neue SEO-Plugin hat sie kaputt gemacht, es wird derzeit behoben.
Auch WP-Touch hat unseren Dienst aus irgendeinem Grund eingestellt, daher haben wir uns entschieden, eine bessere Lösung als dieses Plugin zu finden. Ihr könnt also schon bald auf die nächsten Neuigkeiten gespannt sein :-)
Schöner Artikel. Was die Praxis betrifft, möchte ich sagen, dass ich mit mehreren Dingen einverstanden bin und meistens funktioniert es wie angegeben, aber leider gibt es immer noch schlecht geschriebene Anwendungen, die sich nicht richtig verhalten, und dann gibt es Fälle wie diesen von einigen Lesern bemerkt. Ich denke, dass Skype ein sehr gutes Beispiel ist, ich weiß aus der Praxis, dass es immer noch im Hintergrund läuft (und das ist in Ordnung und so sollte es sein), aber das Problem ist, dass diese Anwendung den Akku des Geräts stark belastet und Ich kann es nicht mehr richtig sehen. Umgekehrt können Anwendungen wie Facebook, Badoo usw. Sie laufen auch noch im Hintergrund, aber ihr Verbrauch ist kaum wahrnehmbar (zumindest merke ich davon nichts). Ich denke also, dass der Fehler in den einzelnen Anwendungen liegt. Wenn Sie wüssten, welche, würde es ausreichen, nur diese manuell auszuschalten!
In der Praxis läuft Facebook also nach Bedarf und Skype nur bei Bedarf.
Wenn ich andererseits den Akku schonen muss und weiß, dass ich das iPhone so lange wie möglich „am Leben“ halten muss, schalte ich beim Multitasking auch alles Unnötige aus, aber meistens hat das keine große Auswirkung, Bei Bedarf beschränke ich aber 3G, sämtliches mobiles Internet, WLAN, Ortungsdienste, Flugmodus, Beleuchtungsstärke usw. Als Teil der Routine schalte ich die oben genannten Anwendungen auch beim Multitasking aus.
Persönlich denke ich, dass der Artikel wahr ist. Leider widerlegen einige Programmierer diese Dinge mit ihren Anwendungen, da ihre Anwendungen falsch sind und es meiner Meinung nach nur zwei Lösungen dafür gibt. 1. Wenn es möglich ist, die Anwendung nicht zu verwenden und eine zu finden Alternative, wenn möglich, oder 2. Wenn es nicht möglich ist, schauen Sie sich z. B. Skype an, schreiben Sie es dem angegebenen Programmierer im Bericht und hoffen Sie, dass er etwas dagegen unternimmt.
Es mag sinnlos sein, Apps manuell zu deaktivieren, aber ich mache es trotzdem. Ich habe auch versucht, das Anwendungssystem nicht auszuschalten, sie laufen zu lassen (oder im Hintergrund schlafen zu lassen) und die Akkulaufzeit war viel geringer, außerdem war es notwendig, das iPad 2 nach etwa drei Wochen neu zu starten, es reagierte langsam. Wenn ich also die Apps manuell ausschalte, hält der Akku länger, ich habe kürzlich am Weihnachtstag einen Neustart durchgeführt und es läuft einwandfrei.
Übrigens mache ich das Gleiche unter Mac OS funktioniert nicht sehr gut). Ich habe wenig RAM, nur 8 GB, aber unter Windows 7 mit 8 GB reagierte das System nicht langsam oder wechselte nicht, unter OS ein Monat und mehr Betriebszeit ist also keine Ausnahme, das Problem ist, dass ich manchmal vorsichtshalber den Mac neu starten muss, um RAM freizugeben und „zu beschleunigen“, Windows 7 braucht das nicht).
Mich interessiert mehr, wie man die Anwendung tatsächlich in die Luft jagt. Was mir passiert ist, war, dass die Anwendung (insbesondere bei Geocaching) in einen Zustand geriet, in dem sie etwas vom übergeordneten Server lud, und in diesem Zustand hängen blieb. Die Home-Taste hat funktioniert, nach dem Neustart ist sie wieder eingefroren (dort, wo ich aufgehört habe). Manuelles Beenden (zum Multitasting-Menü, halten Sie das Symbol und Minus gedrückt, um es zu schließen) = die Anwendung ist verschwunden, nach dem Neustart wurde sie im ursprünglichen Zustand geöffnet, wo sie eingefroren ist. Also schloss ich alles, schaltete das Telefon aus, wieder ein, klickte doppelt auf HOME und siehe da – die Anwendungen waren alle so da, wie sie waren, bevor sie kurz vor dem Ausschalten geschlossen wurden. Auch der Neustart hat nichts gebracht – halten Sie die obere und untere Position, bis es heiß wird. Das Einzige, was geholfen hat, war, die Anwendung vom Telefon zu entfernen, sie neu zu starten und erneut auf dem Telefon zu installieren. Irgendwie habe ich es nicht genommen.
Dieses Multitasking-Management funktioniert und es liegt an den Entwicklern, mit diesen Situationen umzugehen. Für diejenigen, die an einer detaillierteren und professionelleren Beschreibung der gesamten Situation interessiert sind, werde ich hier schreiben, wie es ist.
Die Anwendung kann auf insgesamt 6 Zustände reagieren und diese Zustände sind:
BewerbungWillResignActive
applicationDidEnterBackground
applicationWillEnterForeground
applicationDidBecomeActive
BewerbungWillTerminate
applicationDidReceiveMemoryWarning
Jetzt werde ich versuchen, diese Zustände genauer zu beschreiben.
applicationWillResignActive – dieser Zustand bedeutet, dass die Anwendung in Zukunft (in wenigen Millisekunden) als aktive Anwendung (d. h. als Vordergrundanwendung) zurücktritt. Dies geschieht beispielsweise, wenn während der Verwendung der Anwendung ein Anruf eingeht, gleichzeitig aber auch dies der Fall ist Daher wird dieser Status bereits ausgelöst, bevor die Anwendung in den Hintergrund geht. Daher müssen Sie diese Änderungen berücksichtigen. Diese Methode eignet sich auch, um beispielsweise bei einem eingehenden Anruf alle ausgeführten Aktivitäten zu unterbrechen und bis zum Ende des Anrufs zu warten.
applicationDidEnterBackground – dieser Status zeigt an, dass die Anwendung in den Hintergrund eingetreten ist. Entwickler sollten diese Methode verwenden, um alle Prozesse anzuhalten, die nicht unbedingt im Hintergrund ausgeführt werden müssen, und den Speicher von ungenutzten Daten und anderen Prozessen, zum Beispiel Ablauftimer, zu bereinigen Speicher geladene Bilder, die nicht unbedingt benötigt werden, oder beenden Sie die Verbindung mit den Servern, wenn es für die Anwendung nicht wichtig ist, die Verbindung im Hintergrund herzustellen. Grundsätzlich sollte diese Methode beim Aufruf in der Anwendung dazu verwendet werden, die Anwendung vollständig anzuhalten, wenn ein Teil davon nicht für die Ausführung im Hintergrund erforderlich ist.
applicationWillEnterForeground – dieser Zustand ist das Gegenteil des ersten Zustands, in dem die Anwendung in den aktiven Zustand übergeht. Dieser Anwendungsstatus bedeutet lediglich, dass die ruhende Anwendung in den nächsten Millisekunden aus dem Hintergrund fortfährt und im Vordergrund erscheint (die Anwendung tritt in den Vordergrund). Diese Methode sollte von Entwicklern verwendet werden, um alle Prozesse fortzusetzen, die während der Anwendung inaktiv waren Im Hintergrund sollten Verbindungen zu Servern wiederhergestellt, Timer zurückgesetzt, Bilder und Daten in den Speicher geladen werden und andere notwendige Prozesse können wieder aufgenommen werden, kurz bevor der Benutzer die geladene Anwendung wieder sieht.
applicationDidBecomeActive – dieser Status zeigt an, dass die Anwendung gerade aktiv geworden ist, nachdem sie in den Vordergrund wiederhergestellt wurde. Dies ist eine Methode, die verwendet werden kann, um zusätzliche Anpassungen an der Benutzeroberfläche vorzunehmen oder die Benutzeroberfläche in ihren ursprünglichen Zustand zurückzusetzen usw. Diese Methode geschieht tatsächlich Wenn der Benutzer bereits auf dem Display sehen kann, muss anhand der Bilanz ermittelt werden, was bei dieser Methode und bei der vorherigen Methode passiert. Sie werden nacheinander mit einem Unterschied von einigen Millisekunden aufgerufen.
applicationWillTerminate – dieser Zustand tritt einige Millisekunden vor der Beendigung der Anwendung ein, also bevor die Anwendung tatsächlich beendet wird. Entweder manuell beim Multitasking oder beim Ausschalten des Geräts. Diese Methode sollte zum Speichern verarbeiteter Daten sowie zum Beenden aller Aktivitäten und zum Löschen nicht mehr benötigter Daten verwendet werden.
applicationDidReceiveMemoryWarning – und das ist ein Zustand, der hier viel diskutiert wird. Bei Bedarf entfernt iOS die Anwendung aus dem Speicher, wenn sie unnötig Systemressourcen beansprucht. Ich weiß nicht genau, was iOS mit Hintergrund-Apps macht, aber wenn es eine App benötigt, um Ressourcen für andere Prozesse freizugeben, fordert es sie mit einer Speicherwarnung auf, die von ihr gehaltenen Ressourcen freizugeben. Diese Methode wird also in der Anwendung aufgerufen, und die Entwickler sollten sie so implementieren, dass die Anwendung den vorhandenen Speicher aufgibt, die verarbeiteten und unnötigen Daten aus dem Speicher speichert und den Speicher ansonsten ausreichend freigibt. Zwar denken viele Entwickler, zum Beispiel Einsteiger, über solche Dinge nicht nach oder verstehen sie nicht, und dann kann es passieren, dass ihre Anwendung die Akkulaufzeit gefährdet und/oder auch im Hintergrund unnötig Systemressourcen verbraucht. Ich weiß nicht, wie sich iOS verhält, wenn die Anwendung nach Erhalt einer Speicherwarnung nichts unternimmt und weiterhin wie zuvor Systemressourcen verbraucht.
Diese wenigen Zustände und zugehörigen Methoden stecken hinter dem gesamten „Multitasking“ in iOS … Es ist ein großartiges System, wenn die Entwickler nicht die Notwendigkeit außer Acht lassen, dafür verantwortlich zu sein, was die Apps auf den Geräten ihrer Benutzer ausgeben, wenn sie minimiert werden oder erhalten Sie Warnungen vom System und mehr …
Ich hoffe, diese kurze Beschreibung hilft Ihnen zu verstehen, wie die Anwendung dazu beiträgt, dass alles reibungslos funktioniert. Man kann also fast sagen, dass es sich um einen Fehler falscher Nutzung durch den Benutzer handelt, was so verstanden werden kann: Wenn Sie überwiegend kostenlose Anwendungen von Amateurentwicklern in großer Zahl verwenden, läuft Ihr iOS-Gerät schlechter, als wenn Sie eine große Anzahl verwenden Anzahl kostenloser und kostenpflichtiger Anwendungen von erfahrenen oder professionellen Entwicklern. Das soll nicht heißen, dass es in beiden Kreisen keine Ausnahmen gibt. Foursquare etwa verhält sich recht seltsam und anspruchsvoll, gleichzeitig würde man schon erwarten, dass es sich um sehr geschickte Entwickler handelt, die viel Zeit in die Speicher- und Batterieverwaltung investieren, aber das Gegenteil ist der Fall. Das größte Problem bei 4SQ ist die Kommunikation mit Servern, die oft hängt und überlastet ist. Dies ist nur ein Beispiel dafür, dass selbst bekannte Anwendungen Probleme haben, was jedoch nichts daran ändert, dass 4SQ ein großartiger Dienst ist.
Viel Spaß, Äpfel!! :) :)
Wir haben die Informationen mit freundlicher Genehmigung des Autors zum Artikel hinzugefügt ;-)
Es tut mir leid, ENTER war überall zwischen den Absätzen. Sie könnten hier etwas dagegen tun, damit die Kommentare zumindest ein wenig REICHWEITE TEXTFORMATIERUNG haben.
ArnieX: Danke für den Kommentar!!
Das Faramir: Ich bin gerade bei deinem Problem, ich weiß nicht, ob es in deinem Fall hilft, aber ich weiß aus eigener Erfahrung, dass es beim Schließen der Anwendung (im Multitasking) ein paar Sekunden dauert, bis sie geschlossen wird, also wenn Wenn Sie es ausschalten, empfehle ich, ein paar Sekunden zu warten (ich warte zur Sicherheit ca. 10 Sekunden), bis es definitiv fertig ist, und erst dann wieder zu starten.
Gern geschehen ;) Ich helfe gerne, wenn ich die Möglichkeit habe, einen Beitrag zu leisten.
Wie soll das mit Meeb sein, wenn ich mich darüber in den ICQ- oder FB-Chat einlogge, meldet es sich nach 10 Minuten automatisch ab und ich gehe offline oder funktioniert es weiterhin? Danke für die Klarstellung :P
Nach zehn Minuten wird die Verbindung der Anwendung zum Internet einfach unterbrochen. Sie sind jedoch weiterhin auf dem Meeba-Server online und erhalten eine Push-Benachrichtigung, wenn Ihnen jemand schreibt. Nach dem erneuten Öffnen der Anwendung wird die Verbindung in Kürze hergestellt und Sie können fröhlich weiter chatten.
Wenn ich also den von Ihnen verlinkten Artikel richtig verstanden habe, beziehen sich die Statistiken nur auf Anwendungsabstürze beim Start, was einen relativ kleinen Prozentsatz der Fälle ausmacht, in denen ein Absturz auftreten kann. Aus dieser „Untersuchung“ lässt sich daher meiner Meinung nach nicht schließen, dass iOS weniger stabil ist. Darüber hinaus vergaß der Übersetzer des Forbes-Artikels zu erwähnen, dass das Unternehmen, das Daten zu Anwendungsabstürzen bereitstellt, unter anderem von Google unterstützt wird („Crittercism, which is backed by Google Ventures,...“).