Skonfiguruj działanie biblioteki za pomocą podanych niżej argumentów instrumentacji. Możesz je dodać do konfiguracji Gradle lub zastosować bezpośrednio podczas uruchamiania narzędzi z poziomu wiersza poleceń. Aby ustawić te argumenty dla wszystkich uruchomień testowych Androida Studio i uruchomień wiersza poleceń, dodaj je do testInstrumentationRunnerArguments
:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
}
}
Argumenty instrumentacji możesz też skonfigurować podczas wykonywania testów porównawczych w Android Studio. Aby zmienić argumenty, wykonaj te czynności:
- Zmień konfigurację uruchomienia. Aby to zrobić, kliknij Edytuj, a następnie wybierz konfigurację.
- Aby edytować argumenty instrumentacji, kliknij Więcej obok opcji Argumenty instrumentacji.
- Dodaj wymagany argument instrumentacji, klikając Dodaj w sekcji Dodatkowe parametry instrumentacji.
Jeśli dzwonisz bezpośrednio z wiersza poleceń, użyj -P
android.testInstrumentationRunnerArguments.[name of the argument]
.
./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
androidx.benchmark.compilation.enabled
Umożliwia wyłączanie kompilacji między poszczególnymi iteracjami testu porównawczego. Domyślnie aplikacja docelowa jest ponownie instalowana i kompilowana między wszystkimi testami porównawczymi, aby uwzględnić CompilationMode
przekazane w measureRepeated
. Wyłączenie tej opcji pozwala pominąć zarówno ponowną instalację, jak i kompilację, jeśli na przykład chcesz w pełni skompilować aplikację docelową przed uruchomieniem pakietu testowego i przeprowadzić testy porównawcze z wykorzystaniem w pełni skompilowanego celu.
- Typ argumentu: wartość logiczna
- Wartość domyślna:
true
androidx.benchmark.dryRunMode.enable
Umożliwia przeprowadzanie analiz porównawczych w ramach jednej pętli w celu sprawdzenia, czy działają one prawidłowo. Możesz jej używać podczas zwykłych testów w ramach weryfikacji.
- Typ argumentu: wartość logiczna
- Wartość domyślna:
false
androidx.benchmark.enabledReguły
Umożliwia filtrowanie uruchomień tylko w jednym typie testu: generowanie profilu podstawowego lub test porównawczy makr. Listy rozdzielane przecinkami są również obsługiwane.
- Typ argumentu: ciąg znaków
- Dostępne opcje:
Macrobenchmark
BaselineProfile
- Wartość domyślna: nie określono
androidx.benchmark.junit4.SideEffectRunListener
Wyniki testów porównawczych mogą być niespójne, jeśli w trakcie testu nie są wykonywane niepowiązane prace w tle.
Aby wyłączyć działanie w tle podczas analizy porównawczej, ustaw typ argumentu listener
instrumentation na androidx.benchmark.junit4.SideEffectRunListener
.
- Typ argumentu: ciąg znaków
- Dostępne opcje:
androidx.benchmark.junit4.SideEffectRunListener
- Wartość domyślna: nie określono
androidx.benchmark.perfettoSdkTracking.enable
Włącza punkty śledzenia androidx.tracing.perfetto
, takie jak śledzenie kompozycji w Jetpack Compose. Ma to zastosowanie tylko wtedy, gdy nie jest używana metoda StartupMode.COLD
, ponieważ włączenie punktów śledzenia wybudza proces docelowy.
- Typ argumentu: wartość logiczna
- Wartość domyślna:
false
androidx.benchmark.profiling.mode
Umożliwia przechwytywanie plików śledzenia podczas przeprowadzania testów porównawczych. Dostępne opcje są takie same jak w przypadku biblioteki mikroporównawczych. Więcej informacji znajdziesz w opisach w sekcji Profile a mikroporównanie.
- Typ argumentu: ciąg znaków
- Dostępne opcje:
MethodTracing
StackSampling
None
- Wartość domyślna:
None
androidx.benchmark.startupProfiles.enable
Umożliwia wyłączenie generowania profili startupów podczas testów porównawczych.
- Typ argumentu: wartość logiczna
- Wartość domyślna:
true
androidx.benchmark.suppressErrors
Akceptuje rozdzieloną przecinkami listę błędów, które mogą zamienić się w ostrzeżenia.
- Typ argumentu: lista ciągów tekstowych.
Dostępne opcje:
DEBUGGABLE
Błąd
DEBUGGABLE
oznacza, że w swoim manifeście pakiet docelowy zawiera parametrdebuggable=true
, co znacznie zmniejsza wydajność środowiska wykonawczego, co pozwala na obsługę funkcji debugowania. Aby uniknąć tego błędu, uruchom testy porównawcze z użyciem funkcjidebuggable=false
. Argument możliwy do debugowania wpływa na szybkość wykonywania w sposób, co oznacza, że ulepszenia testu porównawczego mogą nie zostać przeniesione w rzeczywiste wrażenia użytkownika lub pogorszyć wydajność wersji.LOW-BATTERY
Gdy bateria jest słaba, urządzenia często zmniejszają wydajność, aby zaoszczędzić pozostałą baterię, na przykład przez wyłączenie dużych rdzeni. Dzieje się tak nawet wtedy, gdy urządzenia są podłączone do zasilania. Ogranicz ten błąd tylko wtedy, gdy celowo profilujesz aplikację o zmniejszonej wydajności.
EMULATOR
Błąd
EMULATOR
oznacza, że test porównawczy jest uruchomiony w emulatorze, który nie jest reprezentatywny dla prawdziwych urządzeń użytkowników. Ulepszenia testów porównawczych emulatorów mogą nie mieć wpływu na wrażenia rzeczywistego użytkownika lub pogorszyć wydajność urządzenia. Użyj do tego urządzenia fizycznego. Unikaj tego błędu z rozwagą.NOT-PROFILEABLE
Pakiet docelowy
$packageName
działa bez<profileable shell=true>
. Profilowanie jest wymagane w Androidzie 10 i 11, aby narzędzie Macroporównanie mogło rejestrować szczegółowe dane śledzenia z procesu docelowego, takie jak sekcje śledzenia systemu zdefiniowane w aplikacji lub w bibliotekach. Unikaj tego błędu z rozwagą.METHOD-TRACING-ENABLED
Uruchomienie testów porównawczych makr dla aplikacji objętej testem porównawczym ma włączone śledzenie metod. Powoduje to, że maszyna wirtualna działa wolniej niż zwykle, więc wskaźniki z plików śledzenia traktuj tylko w sposób względny, na przykład porównując szybkość pierwszego uruchomienia z drugim. eliminacja tego błędu może skutkować niedokładnymi wynikami w przypadku porównywania testów porównawczych kompilacji z różnymi opcjami śledzenia metod.
Wartość domyślna: pusta lista
dodatkowy test wyjściowy
Konfiguruje miejsce zapisywania na urządzeniu raportów porównawczych JSON i wyników profilowania.
- Typ argumentu: ciąg znaków ścieżki
- Wartość domyślna: sprawdź zewnętrzny katalog pakietu APK
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy JavaScript jest wyłączony
- Argumenty instrumentacji mikrotestów
- Tworzenie profili podstawowych
- Biblioteka Jane Stats