Android 7.0 für Entwickler: Neue Funktionen, Leistungsverbesserungen und andere Dinge, die Sie nicht interessieren werden

Veröffentlicht: 2022-03-11

Google hat Android 7.0 Nougat vor einigen Wochen offiziell angekündigt, aber wie üblich müssen Sie warten. Die meisten Benutzer werden ihre OTA-Updates (Over-the-Air) erst Anfang nächsten Jahres erhalten. Viele andere werden sie eine Woche von nie erhalten, da sich einige Geräteanbieter einfach nicht darum kümmern.

Das mag wie ein bissiges Haustier von mir klingen, aber die Fragmentierung von Android ist kein Scherz; es bereitet Benutzern und Entwicklern seit Jahren ernsthafte Kopfschmerzen. Android 7.0 wird dieses Problem nicht lösen, was schade ist, da es eine Reihe neuer Funktionen und Leistungsverbesserungen ermöglicht, die den Benutzern sicherlich gefallen würden.

Entwickler sollten sich jedoch keine Hoffnungen machen; Hier gibt es keine Spielwechsler. Schauen wir uns die wichtigsten Optimierungen unter der Haube von Android und die neuen Möglichkeiten an, die sie bieten, von den meisten bis zu den am wenigsten wirkungsvollen.

  1. Neuer JIT-Compiler, der den bestehenden AOT-Compiler von ART ergänzt
  2. Unterstützung mehrerer Fenster
  3. Unterstützung für Vulkan-API
  4. Direktstart
  5. Direkte Antwort und gebündelte Benachrichtigungen
  6. Daydream Virtual Reality (VR)-Modus
  7. Benutzeroberfläche, Zugänglichkeitsoptimierungen und Hintergrundoptimierung

Dies ist offensichtlich keine vollständige Liste aller neuen Features ; Ich habe mich für die Top 7 entschieden. Einen ausführlichen Überblick über Android 7.0 erhalten Sie, wenn Sie sich in Googles Entwicklerparadies begeben. Ich erspare Ihnen unnötigen Ballast und gebe Ihnen nützliche Informationen in komprimierter, leicht verdaulicher Form.

1. Neuer JIT-Compiler, profilgeführte Kompilierung

Die JIT-Compilation ist zurück, und obwohl es wie ein Rückblick auf die Tage von Dalvik klingen mag, ist es das nicht. Dieses Mal fügte Google ART einen JIT-Compiler mit Code-Profiling hinzu, um den bestehenden AOT-Compiler von ART zu ergänzen. Und profilgeführte Zusammenstellung ist das Schlagwort der Stunde.

Ein großer Vorteil für die Benutzer: Große Apps, deren Installation früher Minuten dauerte, dauern jetzt Sekunden.

ART erstellt ein Profil für die heißen Methoden jeder App und verschiedene Gerätebedingungen. Es kann heiße Methoden vorkompilieren, um eine optimale Leistung zu liefern, die RAM-Nutzung zu reduzieren, den Stromverbrauch zu senken und vieles mehr.

JIT- und AOT-Compiler in Android 7.0

Android 7.0: Neue Funktionen, Leistungssteigerungen und andere Dinge, die Sie nicht interessieren werden.
Twittern

Ein zusätzlicher Vorteil ist die schiere Geschwindigkeit von Installationen und Updates. Da Profiling bedeutet, dass es keinen Optimierungsschritt gibt, behauptet Google sogar, dass große Apps, deren Installation auf Android 6.0 Minuten dauerte, jetzt in Sekundenschnelle installiert oder aktualisiert werden können. Persönlich hoffe ich, dass dies auch für World of Tanks Blitz gilt, denn es ist das einzige Android-Spiel, das meine Zeit wert ist.

In den letzten Jahren wurden viele Fortschritte bei der mobilen Speicherung gemacht. Viele Geräte der aktuellen Generation verwenden schnellen UFS 2.0-Speicher, der im Vergleich zum eMMC-Speicher vergangener Zeiten einen deutlichen Leistungsschub bietet. Android 7.0 sollte es Softwareentwicklern ermöglichen, diesen neuen Speicherstandard voll auszuschöpfen und noch mehr Leistung freizusetzen.

Schauen Sie sich einen meiner vorherigen Blog-Posts an, um herauszufinden, was die Compiler-Pläne von Google für Android-Entwickler im Detail bedeuten.

Einfluss auf Entwickler: Die profilgeführte Kompilierung sollte überlegene Leistungs- und Effizienzgewinne ermöglichen. Installationen und Updates werden viel schneller sein, und dank der umfangreichen Dokumentation von Google sollte die Implementierung relativ einfach sein. Weniger Wartezeiten für alle. Das ist eine gute Sache.

2. Multi-Window-Unterstützung

Moment mal – haben wir nicht schon Multi-Window-Features auf Android gesehen? Ja und nein; Einige Forks boten Unterstützung für mehrere Fenster, aber jetzt ist es nativ. Es gibt zwei Splitscreen-Implementierungen: nebeneinander und übereinander . Das ist bei mobilen Geräten mehr oder weniger Standard, aber leider hatte ich noch keine Gelegenheit, es auszuprobieren.

Android 7.0 Multi-Window-Unterstützung

Und ehrlich gesagt war ich nie ein Fan von Multi-Window-Funktionalität auf Mobilgeräten, weil die meisten Benutzer sie einfach nicht brauchen.

Es geht jedoch nicht nur um Smartphones. Google arbeitet auch stillschweigend an Smart-TV-Angeboten, sodass sich die Multi-Window-Unterstützung auch auf diese Geräte erstrecken wird, jedoch mit einer Wendung. Mit mehr Anzeigefläche zum Spielen können App-Entwickler den Bild-in-Bild- Modus auf Fernsehern verwenden, und einige Funktionen werden herstellerspezifisch sein. Anbieter können entscheiden, ob sie den Freiformmodus aktivieren oder nicht. Das bedeutet, dass Anbieter von übergroßen Phablets, Tablets und anderen Geräten mit großen Displays Benutzern erlauben könnten, mit Fenstergröße und -position herumzuspielen, was dem Ansatz von Microsoft ähnelt, der erstmals auf Windows 8.x implementiert wurde.

Einfluss auf die Entwickler: Die Multi-Window-Unterstützung ist kein Game-Changer, aber sie wird eine sofortige Möglichkeit auf Android-Tablets und Smart-TVs bieten, wobei letztere auch Bild-in-Bild und die Möglichkeit zum Aufzeichnen von Videos erhalten. Das Problem? Android-Fernseher sind nicht sehr verbreitet und Android-Tablets waren nie sehr beliebt, insbesondere wenn es um Produktivitätsanwendungen geht, die am meisten von der Unterstützung mehrerer Fenster profitieren.

Und wer weiß? Vielleicht wird ein sehr kluger Entwickler eine Killer-Smartphone-App erstellen, die davon profitiert. Ich werde meinen Atem nicht anhalten.

3. Vulkan-API

Dies ist ein weiteres potenziell leistungsstarkes Update unter der Haube. Sicher, es wird nicht so viel Presse- und Verbraucherinteresse hervorrufen wie mehr Spielereien, aber machen Sie keinen Fehler: Die Vulkan-API ist eine große Sache.

Falls Sie es verpasst haben: Die Vulkan-API ist eine neue, fast metallene API mit geringem Overhead für Grafikprozessoren (GPUs). Und das nicht nur für 3D-Spiele, sondern auch für GPU-Computing. Im Grunde ist es der Nachfolger von OpenGL und sollte eine überlegene Leistung auf Multithread-Prozessoren zusammen mit plattformübergreifender Kompatibilität ermöglichen. Es sollte auch Tausende von Arbeitsstunden bei der Treiberentwicklung einsparen.

Warum also wird es nicht mehr gepusht? Nun, es ist ein neuer Standard und die Einführung einer völlig neuen Grafik-API dauert normalerweise ein paar Jahre. Deshalb ist es den Verbrauchern egal und Android-Entwicklern sollte es egal sein .

Und jetzt warten wir ... Die Vulkan-API-Unterstützung scheint jetzt vielleicht nicht wichtig zu sein, aber in ein paar Jahren wird sie riesig sein.

Um mehr über die Vulkan-Implementierung in Android 7.0 zu erfahren, lesen Sie die vollständige Vulkan-API-Übersicht, die ich Anfang dieses Jahres geschrieben habe, oder sehen Sie sich die Entwicklerressourcen von Google an.

Auswirkungen auf die Entwickler: Die Zeit der Vulkan-API wird kommen. Es reduziert den CPU-Overhead, steigert so die GPU-Leistung und reduziert den Stromverbrauch in 3D-Spielen. Die Akzeptanz wird jedoch zwangsläufig langsam sein, da es sich um eine äußerst leistungsfähige und komplexe Grafik-API handelt, nicht nur um eine kosmetische Optimierung.

4. Direktstart

Was passiert mit einem gesperrten Android 7.0-Gerät? Es läuft in einem sicheren direkten Startmodus, bis der Benutzer das Gerät entsperrt.

Um dies zu ermöglichen, verfügt Android 7.0 über zwei Speicherorte für Daten mit zwei unterschiedlichen Verschlüsselungslösungen:

  • Geräteverschlüsselter Speicher ist beim direkten Booten verfügbar und kann unabhängig davon aufgerufen werden, ob das Gerät gesperrt oder entsperrt ist.
  • Der mit Anmeldeinformationen verschlüsselte Speicher ist immer noch der Standardspeicherort und erst verfügbar, nachdem der Benutzer das Gerät entsperrt hat.

Die meisten Auswirkungen liegen auf der Hand: Apps, die im direkten Startmodus arbeiten müssen, bevor das Gerät entsperrt wird, müssen dazu aktiviert werden. Standardmäßig können Apps nicht im Direktstart ausgeführt werden, aber Entwickler können verschiedene App-Komponenten registrieren, die in diesem Zustand ausgeführt werden müssen.

Dies sollte Apps umfassen, die wichtige oder geplante Benachrichtigungen liefern, wie z. B. Messaging- und Kalender-Apps. Apps, die Zugriff auf den Speicher benötigen, müssen sich auf einen vom Gerät verschlüsselten Speicher verlassen, der mit einem Schlüssel geschützt ist, der verfügbar wird, nachdem das Gerät einen verifizierten Start durchgeführt hat. Der Zugriff erstreckt sich nicht auf Daten, die mit Benutzeranmeldeinformationen verbunden sind, nämlich PINs und Passwörter. Der mit Anmeldeinformationen verschlüsselte Speicher ist nicht verfügbar, bis das Gerät hochgefahren und vom Benutzer entsperrt wird, aber sobald darauf zugegriffen wird, bleibt er verfügbar, bis das Gerät ausgeschaltet wird.

Auswirkungen auf die Entwickler: Der direkte Start soll die Sicherheit verbessern, ohne die Benutzererfahrung und Reaktionsfähigkeit zu beeinträchtigen. Die Implementierung sollte einfach sein, aber in manchen Fällen wird sie eine ziemliche Menge an mühsamer Arbeit mit sich bringen. Trotzdem klingt es nach einem kleinen Kompromiss für zusätzliche Sicherheit.

5. Direkte Antwort & gebündelte Benachrichtigungen

Es hört sich so an, als ob es mit Direct Boot zusammenhängt, aber die direkte Antwort ist ein anderes Biest, mit dem Benutzer auf Nachrichten und Benachrichtigungen vom Benachrichtigungsbildschirm aus antworten können. Die Inline-Antwortaktion ist über eine neue Schaltfläche in der Benachrichtigung verfügbar. In der Praxis sollten Benutzer in der Lage sein, auf Benachrichtigungen zu antworten, ohne auf Apps zuzugreifen, und das System kümmert sich um alles andere.

Das System kann seine Wirkung nur entfalten, wenn Entwickler sich die Zeit nehmen, den Inline-Antwortabruf zu aktivieren, indem sie getResultsFromIntent() aufrufen, das ein Bündel mit der erforderlichen Textantwort zurückgibt. Mit Android 7.0 bietet Google Entwicklern eine neue Methode zur Darstellung von Benachrichtigungen in der Warteschlange: gebündelte Benachrichtigungen . Die Lösung ähnelt dem Benachrichtigungsstapel auf Android Wear.

Gebündelte Benachrichtigungen sind genau das: ähnliche Nachrichten, die in einer einzigen Gruppe präsentiert werden, mit einer sauberen Hierarchie und mit der übergeordneten Benachrichtigung an der Spitze. Benutzer können das Paket dann erweitern, um auf weitere Informationen zuzugreifen und entsprechende Maßnahmen zu ergreifen, oder einfach alles ablehnen, wenn sie nicht interessiert sind.

Gebündelte Benachrichtigungen sind jedoch nicht für die Verwendung mit allen Arten von Benachrichtigungen gedacht . Google macht diesen Punkt in Best Practices für Android-Benachrichtigungen deutlich. Idealerweise sollte der Ansatz für Anwendungen verwendet werden, die eine große Menge ähnlicher oder verwandter Benachrichtigungen generieren, wie z. B. Messaging-Apps.

Ab Android 7.0 (API-Level 24) können Benutzer im Benachrichtigungsdialogfeld direkt auf Textnachrichten antworten oder Aufgabenlisten aktualisieren. Auf einem Handheld wird die Inline-Antwortaktion als zusätzliche Schaltfläche in der Benachrichtigung angezeigt. Wenn ein Benutzer über die Tastatur antwortet, hängt das System die Textantwort an die von Ihnen angegebene Absicht (für die Benachrichtigungsaktion) an und sendet sie an Ihre Handheld-App.

Auswirkungen auf die Entwickler: Direkte Antworten und gebündelte Benachrichtigungen sollten die Benutzererfahrung in einer Reihe von Szenarien verbessern. Und nach der Dokumentation von Google zu urteilen, sollten sie auch nicht schwer zu implementieren sein. Offensichtlich profitieren E-Mail, Messaging und soziale Apps am meisten von Inline-Antworten, obwohl der Ansatz auch anderswo implementiert werden könnte.

6. Virtuelle Tagtraum-Realität

Der jüngste Fokus von Google auf VR beweist, dass der Suchgigant nicht immun gegen Hype ist. Wir alle erinnern uns an Google Cardboard und Google Glass, die ein unglücklicher Riss im Augmented-Reality-Bereich waren.

Im Gegensatz zu Glass ist Cardboard nicht einfach verdorrt und gestorben, sondern bleibt eher ein Experiment als ein echtes Produkt. Google hat das Konzept verbessert und soll in wenigen Wochen unter neuem Namen neu aufgelegt werden: Google Daydream . Daydream ist mehr oder weniger ein Evolutionsschritt. Es sieht aus wie ein optimiertes Cardboard-Headset, aber wesentliche Änderungen sind schwer zu erkennen.

Virtual Reality auf Android 7.0 wird enttäuschend sein. Nicht weil die Technik nicht da ist, sondern weil es keine guten Inhalte gibt.

Die Unterstützung für die nächste Generation von Android-Telefonen kommt bald, aber Designer und Entwickler können ihre Konzepte auf dem Nexus 6P der aktuellen Generation testen, dem derzeit einzigen Daydream -kompatiblen Gerät.

Google beschreibt Daydream als die VR-Lösung der nächsten Generation für Mobilgeräte mit verbesserter Interaktivität und besserer Reaktionsfähigkeit im Vergleich zu Cardboard. Das Unternehmen sagt, es habe Verbesserungen auf allen Ebenen des Android-Stacks vorgenommen, um die Reaktionsfähigkeit zu verbessern. Dies sollte es Android 7.0 ermöglichen, schneller auf Sensordaten zuzugreifen und die entsprechende VR-Szene zur richtigen Zeit zu rendern, wodurch die Latenz drastisch reduziert wird. Daydream wird auch mit einem neuen Wireless-Controller mit APP und HOME Tasten geliefert.

Leider wird keine dieser Optimierungen das größte Problem von VR angehen: Mangel an Inhalten . Die gute Nachricht ist, dass sich die Dinge verbessern und Google verspricht, durch eine Reihe von Partnerschaften, die alles von Sitcoms bis hin zu Spielen abdecken, mehr Inhalte auf Daydream bereitzustellen.

Meine Position zu mobiler VR bleibt eher konservativ, wie ich in meiner Google Cardboard-Übersicht skizziert habe. Meine Ansichten wurden teilweise durch die jüngste Marktforschung bestätigt, die darauf hindeutet, dass die Nachfrage nach VR schwach bleibt. Google ist nicht in der Lage, alle Kinderkrankheiten zu lösen, mit denen mobile VR heute konfrontiert ist. Es geht nicht um Selbstgefälligkeit; Google muss auf bessere Hardware warten.

Schon bevor ich Cardboard ausprobierte, wusste ich, dass die Akkulaufzeit und die Thermik ein Problem sein würden, und Google auch. In Zukunft wird dies ein anhaltendes Problem bleiben. Tatsächlich stellt Google klar fest, dass die thermische Leistung des Nexus 6P „nicht repräsentativ“ für kommende Daydream -fähige Telefone ist:

Erwarten Sie, dass das 6P die CPU- und GPU-Leistung nach kurzer Nutzungsdauer je nach Arbeitslast thermisch drosselt.

Wir müssen warten, bis Chiphersteller und Smartphone-Anbieter eine neue Produktgeneration einführen, bevor wir Daydream wirklich nutzen können.

Auswirkungen auf die Entwickler: Daydream VR könnte einige neue Möglichkeiten bieten, aber das ist nicht so einfach, wie es scheint. Während viele Technologieunternehmen auf den VR-Zug steigen, tun dies die Verbraucher nicht. Im Moment ist es eine einsame und teure Fahrt.

7. Benutzeroberfläche, Zugänglichkeitsoptimierungen und Hintergrundoptimierung

Google hat die Benutzeroberfläche aufpoliert, einige Funktionen hinzugefügt und die Leistung feinabgestimmt, um eine noch reibungslosere Benutzererfahrung zu bieten. Hier ein Vorgeschmack auf die Neuheiten:

  • Teilweise Unterstützung für etwa 100 neue Sprachen, zusammen mit verbesserten Sprachpaketen und neuen lokalen Varianten für wichtige Sprachen wie Spanisch und Englisch.
  • Mehrere Gebietsschemas in den Einstellungen, die das Erlebnis für multilokale und zweisprachige Benutzer erheblich verbessern.
  • Verbesserter WebView, der In-App-Browser. Es wird sich auf das Chrome APK (ab Version 51) verlassen, um Seiten zu rendern, wodurch die Speichernutzung und die Bandbreitenanforderungen reduziert werden. Das eigenständige WebView-APK wird nicht mehr aktualisiert , solange das Chrome-Rendering aktiviert ist.
  • Android for Work-Updates zur Verbesserung der Sicherheit und Ermöglichung von Always-on-VPN-Unterstützung. Eine Schnellumschaltfunktion ermöglicht es Benutzern, zwischen Arbeits- und Privatmodus zu wechseln.
  • Project Svelte, der Name von Google für eine Reihe von Hintergrundoptimierungen, die die Art und Weise ändern, wie Apps ausgeführt werden, um die RAM-Nutzung zu reduzieren. Google sagt, es werde JobScheduler und GCMNetworkManager weiter erweitern und aktualisieren, aber gleichzeitig drei weit verbreitete Broadcasts entfernen: CONNECTIVITY_ACTION , ACTION_NEW_PICTURE und ACTION_NEW_VIDEO . Wenn Ihre App auf einem davon basiert, müssen Sie zu JobScheduler migrieren. Sie können die geekigen Details bei Google überprüfen.
  • UI-Optimierungen für den Willkommensbildschirm und die Schnelleinstellungskachel, die jetzt eine neue API enthält, die in Apps von Drittanbietern verwendet werden kann. Zu den Benachrichtigungsverbesserungen gehören zwei neue benutzerdefinierte Ansichts-APIs.
  • Google Assistant, Google Allo, Google Duo.

Auswirkungen auf die Entwickler: Diese neuen Funktionen und Optimierungen sind willkommene Ergänzungen zu Android, aber sie werden wahrscheinlich nicht viele neue Möglichkeiten schaffen.

Android 7.0: Was ist das Fazit?

Es ist fair zu sagen, dass Android 7.0 für Entwickler keine große Sache ist. Es ist eine inkrementelle Verbesserung, hauptsächlich über Optimierung. Es wird die Erstellung weltbewegender Apps und Dienste, die vorher nicht möglich waren, nicht erleichtern.

Aber ich sehe darin nichts Falsches. Smartphones sind bereits vollgepackt mit Funktionen und die Leute werden der Gimmicks überdrüssig, daher ist es verständlich, dass Google sich dafür entschieden hat, sich auf die Verbesserung der Leistung, Energieeffizienz, Sicherheit und der allgemeinen Benutzererfahrung zu konzentrieren. Und wie iOS ist auch Android mittlerweile ausgereift. Wenn Sie vom Fehlen neuer Funktionen enttäuscht sind, empfehle ich Ihnen, sich daran zu gewöhnen, da dies die neue Normalität ist.

Die Zeiten der rasanten Hardware- und Softwareentwicklung im mobilen Bereich sind lange vorbei. Inkrementell ist die neue Normalität.

Wenn ich darüber nachdenke, ist die größte Neuigkeit rund um Android 7.0 nicht das Betriebssystem selbst. Es ist die Entscheidung von Google, neue Pixel-Telefone auf den Markt zu bringen, die darauf ausgelegt sind, alles zu nutzen, was das Betriebssystem zu bieten hat. Aus Hardware-Sicht sind sie nicht besonders speziell – sie basieren auf handelsüblicher Technologie, genau wie ihre Vorgänger der Nexus-Serie. Aber das Geschäftsmodell von Google für Pixel ist ganz anders, mit dem Fokus auf der Kontrolle der End-to-End-Benutzererfahrung und der Wertschöpfung auf Apple-ähnliche Weise.

Es ist noch zu früh, um zu spekulieren, welche Auswirkungen Pixel auf den Rest des Android-Ökosystems haben wird, aber so viel ist sicher: Es wird ein heikler Balanceakt sein. Google könnte sich dafür entscheiden, einige Funktionen ausschließlich für seine hauseigenen Pixel-Telefone zu reservieren, kann aber gleichzeitig nicht übertreiben. Es kann es sich nicht leisten, Android-Anbieter vor den Kopf zu stoßen und ihre Produkte weniger wettbewerbsfähig zu machen, indem zu viele Pixel-exklusive Funktionen hinzugefügt werden.

Wie sich das alles entwickelt, bleibt abzuwarten, aber in der Zwischenzeit sollten wir uns darauf konzentrieren, das Beste aus Android 7.0 herauszuholen. Machen Sie eigentlich 7.1, das sich in der Beta befindet und wahrscheinlich in Kürze veröffentlicht wird.

Siehe auch: Android M (Android 6.0) für Entwickler: Ein evolutionärer Schritt in die richtige Richtung