Android-Leistungsoptimierung

Folgen Sie der Anleitung in diesem Abschnitt, um sicherzustellen, dass Ihre Android-Geräte den Ressourcenverbrauch minimieren und die Leistung optimieren. Nutzen Sie auch die vielen Tests und Tools, die unter Leistung bewerten beschrieben werden, um das Beste aus Android herauszuholen.

APK-Caching

In diesem Dokument wird das Design einer APK-Caching-Lösung für die schnelle Installation vorinstallierter Apps auf einem Gerät mit A/B-Partitionen beschrieben. OEMs können Vorinstallationen und beliebte Apps im APK-Cache platzieren, der auf neuen Geräten mit A/B-Partitionierung in der meist leeren B-Partition gespeichert ist, ohne den für Nutzer sichtbaren Datenbereich zu beeinträchtigen.

Bootzeiten

Android 8.0 ermöglicht kürzere Bootzeiten durch die Unterstützung mehrerer Verbesserungen in einer Reihe von Komponenten. Dieses Dokument enthält Anleitungen für Partner zur Verbesserung der Bootzeiten für bestimmte Android-Geräte.

Gesundheit

Android 9 enthält android.hardware.health HAL 2.0, ein wichtiges Upgrade der Hauptversion von health@1.0 HAL. Dieses neue HAL bietet eine bessere Trennung zwischen Framework- und Vendor-Code, mehr Spielraum für die Anpassung von Berichten zu Geräteinformationen durch den Vendor und mehr Informationen zum Gerätezustand als nur den Akkustand.

Low-Memory-Killer

Der lmkd-Prozess im Userspace implementiert dieselbe Funktion, verwendet aber bereits vorhandene Kernelmechanismen, um die Arbeitsspeicherbelastung zu erkennen und zu schätzen. Es verwendet vom Kernel generierte vmpressure-Ereignisse, um Benachrichtigungen zu Speicherauslastungsstufen zu erhalten.

Profilgesteuerte Optimierung

Das Android-Buildsystem unterstützt die Verwendung der profilgesteuerten Optimierung (Profile-Guided Optimization, PGO) von Clang für native Android-Module mit Blueprint-Buildregeln.

R8-Code- und Ressourcenoptimierung

Das Android-Build-System verwendet den R8-Compiler, um DEX-Ziele (android_app, android_test und installierbare java_library-Module) zu verkleinern, zu optimieren und nicht verwendeten Code und nicht verwendete Ressourcen daraus zu entfernen. Bei statischen Bibliotheken (android_library und statische java_library) verwendet Soong den optimize-Block, um Consumer-Keep-Regeln anzuhängen und zu exportieren.

Weitere Informationen zum Konfigurieren der R8-Optimierung und der Keep-Regeln finden Sie unter Plattformcode und ‑ressourcen mit R8 optimieren.

Aufgaben-Snapshots

Task-Snapshots sind eine in Android 8.0 eingeführte Infrastruktur, die Screenshots für Thumbnails in der Übersicht und gespeicherte Oberflächen aus dem Window Manager kombiniert. Die Miniaturansichten auf dem Tab „Zuletzt verwendet“ stellen den letzten Status einer Aufgabe dar.

Write-Ahead-Logging

In Android 9 wird ein spezieller Modus von SQLiteDatabase eingeführt, der als „Compatibility WAL“ (Write-Ahead Logging) bezeichnet wird. In diesem Modus kann eine Datenbank journal_mode=WAL verwenden, während das Verhalten beibehalten wird, dass maximal eine Verbindung pro Datenbank besteht.

NPU-Manager

Android 17 und höher unterstützt den NPU-Manager (Neural Processing Unit), der Ressourcenzuweisungen koordiniert, Arbeitslasten priorisiert und den Ausführungsstatus verfolgt, um die Systemstabilität aufrechtzuerhalten und die Geräteleistung zu optimieren.