Instapaper Creator schlägt elegante Lösung für die Aktualisierung von Hintergrund-Apps vor

Apple hat geschickte Arbeit geleistet, um die Nachteile von echtem Multitasking mit iOS 4 zu mildern, indem es Entwicklern Zugriff auf einige intelligent ausgewählte APIs (wie Hintergrundaudio) und universelle Statusspeicherung gewährt.

Das wird für die meisten Leute und die meisten Apps gut genug sein, ohne die Akkulaufzeit oder die Rechenleistung zu stark zu belasten, aber leider sind die neuen iOS 4-APIs tun Sie nichts, um einen der größten Vorteile von Multitasking zu adressieren: Hintergrundanwendungen, die Informationen aktualisieren oder synchronisieren können, wenn sie keine haben Fokus. Mit anderen Worten, wenn iOS 4 auf den Markt kommt, müssen Apps wie Feedreader, Twitter-Clients und IM-Programme immer noch die ganze Zeit geöffnet sein, um neue Informationen aus dem Internet aufzunehmen.

Drüben in seinem persönlichen Blog hat Marco Arment – ​​Entwickler des App Store-Lieblings Instapaper – gepostet ein toller vorschlag an Apple, wie sich Apps effizient im Hintergrund aktualisieren können: Geben Sie iOS die Möglichkeit, periodische Netzwerkanfragen von Drittanbietern zu priorisieren.

Das Hinzufügen eines weiteren Multitasking-Dienstes würde dieses Problem für viele Anwendungstypen lösen: eine periodische Netzwerkanforderung. So würde ich es machen:

• Die Anwendung gibt dem System eine NSURLRequest und ein ideales Aktualisierungsintervall, beispielsweise alle 30 Minuten, alle paar Stunden oder jeden Tag.

• iOS führt diese Anforderung aus, wann immer es dies für richtig hält, und speichert die Antwort in einer lokalen Datei.

• Beim nächsten Start der Anwendung übergibt iOS ihr eine NSData der letzten Antwort.

Es ist wichtig, die Anforderung auszuführen, „wenn sie es für richtig hält“. iOS kann beispielsweise entscheiden:

• Keine Aktualisierung, wenn der Akku schwach ist, die Konnektivität schlecht ist, andere Anforderungen ausgeführt werden, der freie Speicher niedrig ist, die CPU-Auslastung hoch ist oder der Benutzer voraussichtlich sein monatliches Datenlimit überschreitet.

• Nicht so häufig aktualisieren, wie von der App angefordert, oder das Intervall im Laufe der Zeit verlängern oder das Intervall dynamisch anpassen, je nachdem, wie oft es eine 304-Antwort (nicht geändert) empfängt.

• Überhaupt nicht aktualisieren, wenn die anfordernde App längere Zeit nicht gestartet wurde.

Dies würde es Instapaper ermöglichen, Updates im Hintergrund herunterzuladen, und würde auch RSS-Readern, Twitter-Clients, Chats sehr zugute kommen Programme, Wetter- und Nachrichten-Widgets und eine Vielzahl anderer Anwendungen, die derzeit nicht viel von iOS profitieren können. Multitasking.

Ich bin sicherlich kein Systemarchitekt, aber für mich klingt es nach einer effektiven Lösung. Tatsächlich ist es eine so verständliche und offensichtliche Lösung, dass der Gedanke, bis zum iOS 5-Update zu warten für solche Funktionalitäten gibt mir ein bisschen das Zittern… obwohl das der Talisker von letzter Nacht sein könnte reden.

Neuester Blogbeitrag

| Kult des Mac
September 10, 2021

Amazon könnte dieses Jahr 2 Millionen Kindle-Tablets verkaufen [Bericht]Trotz Erwartung könnte das Tablet von Amazon fordere das iPad heraus, Analy...

| Kult des Mac
August 20, 2021

Sechs überraschende Tipps und Tricks für iOS 7 Beta [Feature]iOS 7 steckt voller neuer Dinge, die es zu entdecken und zu erkunden gilt. Wir haben e...

Apple hat bereits 1984 einen stapelbaren Mac Pro in Betracht gezogen
August 20, 2021

Es wird gemunkelt, dass Apple a. verwendet stapelbar, modulares Design für den nächsten Mac Pro, sodass Komponenten einfach ein- und ausgewechselt ...