Ottimizzazione delle prestazioni di Android

Segui le istruzioni riportate in questa sezione per assicurarti che i tuoi dispositivi Android riducano al minimo l'utilizzo delle risorse e ottimizzino le prestazioni. Sfrutta anche i numerosi test e strumenti descritti in Valutazione del rendimento nell'ambito del tuo lavoro per ottenere il massimo da Android.

Memorizzazione nella cache degli APK

Questo documento descrive la progettazione di una soluzione di memorizzazione nella cache degli APK per l'installazione rapida di app precaricate su un dispositivo che supporta le partizioni A/B. Gli OEM possono inserire precaricamenti e app popolari nella cache APK archiviata nella partizione B quasi vuota sui nuovi dispositivi con partizioni A/B senza influire sullo spazio dati visibile all'utente.

Tempi di avvio

Android 8.0 consente di ridurre i tempi di avvio supportando diversi miglioramenti in una serie di componenti. Questo documento fornisce indicazioni ai partner per migliorare i tempi di avvio di dispositivi Android specifici.

Salute

Android 9 include android.hardware.health HAL 2.0, un aggiornamento di versione principale rispetto a health@1.0 HAL. Questa nuova HAL offre una separazione più chiara tra il framework e il codice del fornitore, una maggiore libertà per la personalizzazione del fornitore nei report sulle informazioni sanitarie e più informazioni sullo stato del dispositivo rispetto alla sola batteria.

Low memory killer

Il processo lmkd dello spazio utente implementa la stessa funzionalità, ma con meccanismi del kernel già esistenti per rilevare e stimare la pressione sulla memoria. Utilizza gli eventi vmpressure generati dal kernel per ricevere notifiche sui livelli di pressione della memoria.

Ottimizzazione guidata dal profilo

Il sistema di compilazione Android supporta l'utilizzo dell'ottimizzazione guidata dal profilo (PGO) di Clang sui moduli Android nativi con regole di compilazione blueprint.

Ottimizzazione del codice e delle risorse R8

Il sistema di compilazione Android utilizza il compilatore R8 per ridurre, ottimizzare ed eliminare codice e risorse inutilizzati dalle destinazioni DEX (android_app, android_test e moduli java_library installabili). Nelle librerie statiche (android_library e static java_library), Soong utilizza il blocco optimize per collegare ed esportare le regole di conservazione dei consumatori.

Per saperne di più sulla configurazione dell'ottimizzazione R8 e delle regole di conservazione, consulta Ottimizzare il codice e le risorse della piattaforma con R8.

Snapshot delle attività

Gli snapshot delle attività sono un'infrastruttura introdotta in Android 8.0 che combina gli screenshot per le miniature delle app recenti e le superfici salvate di Window Manager. Le miniature dei Recenti rappresentano l'ultimo stato di un'attività nella visualizzazione Recenti.

Log write-ahead

Android 9 introduce una modalità speciale di SQLiteDatabase chiamata Compatibility WAL (write-ahead logging) che consente a un database di utilizzare journal_mode=WAL mantenendo il comportamento di mantenere un massimo di una connessione per database.

NPU Manager

Android 17 e versioni successive supportano NPU (Neural Processing Unit) Manager, che coordina l'allocazione delle risorse, assegna la priorità ai carichi di lavoro e monitora lo stato di esecuzione per mantenere la stabilità del sistema e ottimizzare le prestazioni del dispositivo.