Aggiungi argomenti di strumentazione

Configura il comportamento della libreria con la seguente strumentazione argomenti. Puoi aggiungerli alla configurazione Gradle o applicarli direttamente durante l'esecuzione della strumentazione dalla riga di comando. Per impostare questi per tutte le esecuzioni di test di Android Studio e della riga di comando, aggiungili a testInstrumentationRunnerArguments:

android {
    defaultConfig {
        // ...
        testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
    }
}

Puoi anche impostare argomenti di strumentazione quando esegui i benchmark da Android Studio. Per modificare gli argomenti:

  1. Modifica la configurazione di esecuzione facendo clic su Modifica, quindi sul pulsante configurazione.
    modifica configurazione esecuzione
    Figura 1. Modifica la configurazione di esecuzione.
  2. Modifica gli argomenti della strumentazione facendo clic su Altro di Argomenti di strumentazione.
    modifica gli argomenti di strumentazione
    Figura 2. Modifica la strumentazione argomenti.
  3. Aggiungi l'argomento di strumentazione richiesto facendo clic Aggiungi in Strumentazione Parametri aggiuntivi.
    aggiungi l'argomento di strumentazione richiesto
    Figura 3. Aggiungi la strumentazione richiesta .

Se chiami direttamente dalla riga di comando, utilizza -P android.testInstrumentationRunnerArguments.[name of the argument].

./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile

androidx.benchmark.compilation.enabled

Consente di disabilitare la compilazione tra ogni iterazione del benchmark. Di per impostazione predefinita, l'applicazione di destinazione viene reinstallata e ricompilata tra benchmark, per rispettare il valore CompilationMode trasmesso measureRepeated. Se disattivi questa opzione, puoi ignorare entrambi reinstallare e compilare se, ad esempio, vuoi compilare completamente il file dell'app una volta prima di eseguire la suite di test ed eseguire tutti i benchmark sulla base target compilato.

  • Tipo di argomento: booleano
  • Il valore predefinito è: true

androidx.benchmark.dryRunMode.enable

Consente di eseguire i benchmark in un singolo loop per verificarne il corretto funzionamento. Puoi utilizzarlo con test regolari nell'ambito della verifica.

  • Tipo di argomento: booleano
  • Il valore predefinito è: false

androidx.benchmark.enabledRules

Consente di filtrare le esecuzioni per un solo tipo di test: generazione del profilo di riferimento o Test Macrobenchmark. Sono supportati anche gli elenchi separati da virgole.

  • Tipo di argomento: stringa
  • Opzioni disponibili:
    • Macrobenchmark
    • BaselineProfile
  • Valore predefinito: non specificato

androidx.benchmark.junit4.SideEffectRunListener

Potresti ottenere risultati di benchmark incoerenti se ricevi lavori in background non correlati mentre il benchmark è in esecuzione.

Per disattivare il lavoro in background durante il benchmarking, imposta listener di strumentazione androidx.benchmark.junit4.SideEffectRunListener.

  • Tipo di argomento:stringa.
  • Opzioni disponibili:
    • androidx.benchmark.junit4.SideEffectRunListener
  • Valore predefinito: non specificato

androidx.benchmark.fullTracking.enable

Abilita tracepoint androidx.tracing.perfetto come Jetpack Compose il tracciamento della composizione.

Devi configurare il progetto per poter acquisire il tracciamento della composizione dai benchmark. Per ulteriori informazioni, vedi Acquisire una traccia con Jetpack Macrobenchmark.

  • Tipo di argomento: booleano
  • Il valore predefinito è: false

modalità.profilazione.androidx.benchmark.

Consente di acquisire file di traccia durante l'esecuzione dei benchmark. Le opzioni disponibili corrispondono a quelle della libreria Microbenchmark; per ulteriori informazioni, vedi le descrizioni Profila un Microbenchmark.

  • Tipo di argomento:stringa.
  • Opzioni disponibili:
    • MethodTracing
    • StackSampling
    • None
  • Il valore predefinito è: None

androidx.benchmark.startupProfiles.enable

Consente di disattivare la generazione di profili iniziali durante il benchmarking.

  • Tipo di argomento: booleano
  • Il valore predefinito è: true

androidx.benchmark.suppressErrors

Accetta un elenco separato da virgole di errori da convertire in avvisi.

  • Tipo di argomento: elenco di stringhe.
  • Opzioni disponibili:

    • DEBUGGABLE

      L'errore DEBUGGABLE indica che il pacchetto di destinazione è in esecuzione con debuggable=true nel file manifest, che riduce drasticamente il tempo di esecuzione per supportare le funzionalità di debug. Per evitare questo errore, esegui benchmark con debuggable=false. L'argomento di cui è possibile eseguire il debug influisce la velocità di esecuzione potrebbe non comportare che i miglioramenti dei benchmark sull'esperienza di un utente reale o potrebbe far regredire le prestazioni delle release.

    • LOW-BATTERY

      Quando la batteria è in esaurimento, spesso i dispositivi riducono le prestazioni per risparmiare tempo batteria, ad esempio disabilitando i grandi core. Ciò si verifica anche quando sono collegati. Elimina questo errore solo se sei deliberatamente Profilazione dell'app con prestazioni ridotte.

    • EMULATOR

      L'errore EMULATOR indica che il benchmark è in esecuzione su una che non è rappresentativo dei dispositivi degli utenti reali. Emulatore i miglioramenti del benchmark potrebbero non essere trasferiti all'esperienza di un utente reale o regredire le prestazioni reali del dispositivo. Dovresti usare un fisico dispositivo come benchmark. Elimina questo errore con estrema cautela.

    • NOT-PROFILEABLE

      Il pacchetto di destinazione $packageName è in esecuzione senza <profileable shell=true>. Il profilo è obbligatorio su Android 10 e 11 consente a Macrobenchmark di acquisire informazioni di traccia dettagliate dalla destinazione ad esempio le sezioni di tracciamento del sistema definite nell'app librerie. Elimina questo errore con estrema cautela.

    • METHOD-TRACING-ENABLED

      L'esecuzione di Macrobenchmark per l'app sottoposta a benchmark prevede il tracciamento del metodo in un bucket con il controllo delle versioni attivo. Di conseguenza la VM viene eseguita più lentamente del solito, le metriche dei file di traccia in termini relativi, ad esempio confrontando la velocità della prima esecuzione con la seconda. Eliminazione può generare risultati imprecisi se confronti i benchmark per con diverse opzioni di tracciamento.

  • Il valore predefinito è: un elenco vuoto

testOutputDir aggiuntivo

Consente di configurare la posizione in cui vengono salvati i report di benchmark JSON e i risultati di profilazione dispositivo.

  • Tipo di argomento: stringa del percorso.
  • Impostazione predefinita: directory esterna dell'APK di test
di Gemini Advanced. di Gemini Advanced.