I profili di avvio sono un sottoinsieme dei profili di riferimento. I profili di avvio vengono utilizzati dal sistema di compilazione per ottimizzare ulteriormente le classi e i metodi in essi contenuti migliorando il layout del codice nei file DEX dell'APK. Con i profili di avvio, solitamente l'avvio dell'app è più rapido del 15-30% rispetto all'utilizzo dei soli profili di riferimento.

Requisiti
Ti consigliamo di utilizzare i profili di avvio con i seguenti strumenti:
- Jetpack Macrobenchmark 1.2.0 o versioni successive
- Plug-in Android per Gradle 8.2 o versioni successive
- Android Studio Iguana o versioni successive
Inoltre, nella tua app sono necessarie le seguenti impostazioni:
- R8 attivato. Per la compilazione della release, imposta
isMinifyEnabled = true
. - Ottimizzazioni del layout DEX attivate. Nel blocco
baselineProfile {}
del file di compilazione del modulo dell'app, impostadexLayoutOptimization = true
.
Creare un profilo dell'avvio
Android Studio crea un profilo di avvio insieme a un profilo di riferimento quando utilizzi il modello di Generatore di profili di riferimento predefinito.
I passaggi generali per creare e generare un profilo di avvio sono gli stessi per creare un profilo di riferimento.
Il modo predefinito per creare un profilo di avvio è utilizzare il modello del modulo Generatore di profili di riferimento in Android Studio. Sono incluse le interazioni con la startup che formano un profilo di startup di base. Per aumentare questo profilo di avvio
con più Percorsi utente critici (CUJ), aggiungi i CUJ di avvio dell'app a un blocco rule
con includeInStartupProfile
impostato su true
. Per le app semplici, potrebbe essere sufficiente avviareMainActivity
dell'app. Per le app più complesse, ti consigliamo di aggiungere i punti di contatto più comuni, ad esempio l'avvio dell'app dalla schermata Home o l'avvio in un link diretto.
Il seguente snippet di codice mostra un generatore di profili di riferimento (per impostazione predefinita il file BaselineProfileGenerator.kt
) che include l'avvio dell'app dalla schermata iniziale e il lancio in un link diretto. Il link diretto rimanda direttamente al feed di notizie dell'app, non alla schermata Home dell'app.
@RunWith(AndroidJUnit4::class)
@LargeTest
class BaselineProfileGenerator {
@get:Rule
val rule = BaselineProfileRule()
@Test
fun generate() {
rule.collect(
packageName = "com.example.app",
includeInStartupProfile = true
) {
// Launch directly into the NEWS_FEED.
startActivityAndWait(Intent().apply {
setPackage(packageName)
setAction("com.example.app.NEWS_FEED")
})
}
}
}
Esegui la configurazione Genera profilo di riferimento per l'app e trova le regole del profilo di avvio in src/<variant>/generated/baselineProfiles/startup-prof.txt
.
Considerazioni per la creazione di profili di startup
L'output dei metodi e delle classi di un profilo di avvio è limitato dalle dimensioni del primo file classes.dex. Ciò significa che non tutti i percorsi del profilo di riferimento devono essere anche percorsi del profilo di startup.
Per decidere quali percorsi degli utenti coprire quando crei un profilo di avvio, considera dove la maggior parte degli utenti avvia l'applicazione. Di solito dal programma di avvio e dopo aver eseguito l'accesso. Si tratta anche del percorso del profilo di base più semplice.
Dopo aver trattato il primo caso d'uso, segui la canalizzazione utente per l'avvio dell'app. In molti casi, le canalizzazioni di avvio dell'app seguono questo elenco:
- Attività del programma di avvio principale
- Notifiche che attivano l'avvio dell'app
- Attività del programma di avvio facoltative
Consulta l'elenco dall'alto e interrompi prima che classes.dex sia pieno. Per coprire in seguito più percorsi, sposta il codice dal percorso di avvio e aggiungi altri percorsi. Per spostare il codice dal percorso di avvio, controlla le tracce di Perfetto durante l'avvio dell'app e cerca le operazioni in esecuzione prolungata. Puoi anche utilizzare un macrobenchmark con il monitoraggio dei metodi abilitato per una visualizzazione automatizzabile e completa delle chiamate ai metodi durante l'avvio dell'app.
Nessun suggerimento al momento.
Prova ad accedere al tuo Account Google.