Google gibt zu, dass Android hinterherhinkt: Der Code für die App-Warteschlange wurde für die kommende Version neu geschrieben
Google-Ingenieure haben einen technischen tiefen Einblick in eine der wichtigsten, aber subtilen Änderungen in dem kommenden Android 17 veröffentlicht. Es scheint, dass das Unternehmen beschlossen hat, ein Problem ernsthaft anzugehen, das selbst Besitzer von Flaggschiff-Geräten frustriert—diese Mikro-Ruckler in der Benutzeroberfläche, die auftreten, wenn man einfach durch einen Feed scrollt oder einen Ordner öffnet, wodurch das Bild fast unmerklich stockt.
In der neuen OS-Version haben sie eine zentrale Komponente namens MessageQueue neu geschrieben. Einfach gesagt, kann man sich das als einen Dispatcher vorstellen, der verwaltet, welche Prozesse wann Zugriff auf den Speicher für die Anzeige haben. Zuvor arbeitete dieser Dispatcher nach dem Prinzip des exklusiven Zugriffs: ein einzelner Thread-Lock auf den gesamten Datensatz. Wenn ein Hintergrundprozess (wie das Überprüfen der App-Nutzung) diesen Lock ergriff und das OS dann den Fokus auf andere Aufgaben wechselte, blieb der UI-Thread wartend stecken. Das Ergebnis? Verlorene Frames und das allgemeine Gefühl, dass das System „zögert“ oder träge wirkt.
In Android 17 haben sie diesen Ansatz aufgegeben und den einzelnen Lock durch einen Mechanismus namens DeliQueue ersetzt. Der Name ist absichtlich gewählt—Ingenieure ziehen eine Analogie zu einem Ticket-System am Delikatessenstand. In einer klassischen Warteschlange (wie zuvor) kann die nächste Person nicht vorankommen, bis die Person am Stand ihre gesamte Transaktion abgeschlossen hat. Im neuen Schema erhält jeder neue Prozess ein „Ticket“ und kann seine Geschäfte erledigen, ohne andere zu blockieren. Der Hauptthread (der UI-Thread) entscheidet dann über die Reihenfolge, in der die eingehenden Aufgaben verarbeitet werden, ohne in einen Wartestatus zu gehen.
Um die Dinge weiter zu beschleunigen, haben Ingenieure auch bedingte Verzweigungen im Nachrichtvergleichscode entfernt. Im klassischen Code versucht die CPU vorherzusagen, ob sie den ‚Ja‘- oder ‚Nein‘-Zweig nehmen soll; wenn die Vorhersage falsch ist, wird Zeit damit verschwendet, die Pipeline zu leeren. In der neuen Implementierung wird dies durch „unbedingte“ Arithmetik ersetzt, die in synthetischen Tests eine Leistungssteigerung von bis zu 500 % in Szenarien mit hoher Konkurrenz zeigte.
Reguläre Benutzer müssen DeliQueue nicht manuell aktivieren. Es handelt sich um eine systemweite Optimierung, die standardmäßig für alle Apps, die auf Android 17 abzielen, aktiviert ist. Entwickler haben bereits Zugang zu Testwerkzeugen, und die Ungeduldigen können frühe Systemversionen auf kompatiblen Pixel-Geräten installieren.
Was denkt ihr, wird dies tatsächlich die Fragmentierungs- und Verzögerungsprobleme auf verschiedenen Geräten lösen, oder ist es wie gewohnt nur „Papierversprechen“, und in Wirklichkeit werden die Hersteller alles wieder mit ihren benutzerdefinierten Oberflächen durcheinanderbringen?

