Skonfiguruj działanie biblioteki, korzystając z poniższych narzędzi
. Możesz dodać je do konfiguracji Gradle lub je zastosować
bezpośrednio podczas uruchamiania instrumentacji z poziomu wiersza poleceń. Aby ustawić
dla wszystkich testów w Android Studio i w wierszu poleceń, dodaj je do
testInstrumentationRunnerArguments
:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
}
}
Możesz też skonfigurować argumenty instrumentacji podczas uruchamiania testów porównawczych Android Studio. Aby zmienić argumenty, wykonaj te czynności:
- Aby zmienić konfigurację uruchamiania, kliknij Edytuj, a następnie kliknij konfiguracji.
- Aby edytować argumenty instrumentacji, kliknij Więcej od Argumenty narzędzi.
- Kliknij wymagany argument instrumentacji, aby dodać go. Dodaj w sekcji Narzędzia Parametry dodatkowe.
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łączenie kompilacji po każdej iteracji testu porównawczego. Według
domyślnie aplikacja docelowa jest ponownie instalowana i skompilowana
testu porównawczego, by uwzględnić dane CompilationMode
przekazane
measureRepeated
Gdy wyłączysz tę opcję, możesz pominąć oba
ponowna instalacja i kompilacja, jeśli na przykład chcesz w pełni skompilować plik docelowy
przed uruchomieniem pakietu testowego i testowanie porównawczych dla niego
skompilowanego celu.
- Typ argumentu: wartość logiczna
- Wartość domyślna:
true
androidx.benchmark.dryRunMode.enable
Pozwala przeprowadzać testy porównawcze w 1 pętli, aby sprawdzić, czy działają prawidłowo. Możesz go używać w ramach regularnych testów w ramach weryfikacji.
- Typ argumentu: wartość logiczna
- Wartość domyślna:
false
androidx.benchmark.enabledRules
Umożliwia filtrowanie uruchomień tylko do jednego typu testu: generowania profilu podstawowego lub Test porównawczy. Obsługiwane są również listy rozdzielane przecinkami.
- Typ argumentu: ciąg znaków
- Dostępne opcje:
Macrobenchmark
BaselineProfile
- Wartość domyślna: nie określono
androidx.benchmark.junit4.SideEffectRunListener
Możesz uzyskać niespójne wyniki analizy porównawczej, jeśli w tle wystąpi niepowiązana praca jest wykonywana podczas testu porównawczego.
Aby wyłączyć pracę w tle podczas analizy porównawczej, ustaw listener
typ argumentu instrumentacji do
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.fullTracking.enable
Włącza punkty śledzenia usługi androidx.tracing.perfetto
, takie jak Jetpack Compose
śledzenie kompozycji.
Aby móc rejestrować śledzenie kompozycji, musisz skonfigurować swój projekt na podstawie analiz porównawczych. Więcej informacji znajdziesz w artykule Rejestrowanie śladu za pomocą Jetpacka Analiza porównawcza.
- Typ argumentu: wartość logiczna
- Domyślna wartość:
false
androidx.benchmark.profilowanie.mode
Umożliwia przechwytywanie plików śledzenia podczas przeprowadzania testów porównawczych. Dostępne opcje są takie same jak biblioteki mikrotestów porównawczych. Więcej informacji a teksty reklamy na Utwórz mikrotest porównawczy.
- 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 zmieniają się w ostrzeżenia.
- Typ argumentu: lista ciągów znaków
Dostępne opcje:
DEBUGGABLE
Błąd
DEBUGGABLE
oznacza, że pakiet docelowy działa zdebuggable=true
w pliku manifestu, co znacznie skraca czas działania. wydajności, aby obsługiwać funkcje debugowania. Aby uniknąć tego błędu, uruchom polecenie testy porównawcze z wartościądebuggable=false
. Argument możliwy do debugowania wpływa na argument w taki sposób, że ulepszenia testów porównawczych mogą nie przynosić na wrażenia rzeczywistych użytkowników lub mogą pogorszyć wydajność wersji.LOW-BATTERY
Gdy bateria jest słaba, urządzenia często zmniejszają wydajność, by zaoszczędzić baterii, na przykład przez wyłączenie dużych rdzeni. Dzieje się tak nawet wtedy, gdy są podłączone urządzenia. Pomijaj ten błąd tylko wtedy, gdy celowo profilowanie aplikacji przy niższej wydajności.
EMULATOR
Błąd
EMULATOR
informuje, że test porównawczy działa na który nie jest reprezentatywny dla prawdziwych urządzeń użytkowników. Emulator ulepszenia analizy porównawczej mogą nie mieć wpływu na wrażenia rzeczywistego użytkownika. lub może pogorszyć rzeczywistą wydajność urządzenia. Korzystając z szablonu urządzenia do analizy porównawczej. Pomijaj ten błąd z najwyższą ostrożnością.NOT-PROFILEABLE
Pakiet docelowy
$packageName
działa bez<profileable shell=true>
Profilowalność jest wymagana w Androidzie 10 i 11 aby umożliwić usłudze Macrobenchmark przechwytywanie szczegółowych informacji logu czasu ze środowiska docelowego takich jak sekcje śledzenia systemu zdefiniowane w aplikacji biblioteki. Pomijaj ten błąd z najwyższą ostrożnością.METHOD-TRACING-ENABLED
Test porównawczy dla testowanej aplikacji zawiera śledzenie metod . W rezultacie maszyna wirtualna działa wolniej niż zwykle, dlatego uwzględniaj dane z plików śledzenia w wyrażeniach względnych, na przykład porównując szybkość pierwszego i drugiego uruchomienia. Pomijam to może skutkować niedokładnymi wynikami, jeśli porównujesz dane porównawcze dla kompilacje z różnymi opcjami śledzenia.
Ustawienie domyślne to: pusta lista.
DodatkoweTestyWyjściowe
Konfiguruje miejsce zapisywania raportów porównawczych JSON i wyników profilowania urządzenia.
- Typ argumentu: ciąg znaków ścieżki
- Ustawienie domyślne: testowanie katalogu zewnętrznego pakietu APK
Polecane dla Ciebie
- Uwaga: tekst linku wyświetla się, gdy JavaScript jest wyłączony
- Argumenty instrumentacji mikrotestów
- Tworzenie profili podstawowych
- Biblioteka JannkStats