Instalator profilu

  
Umożliwia bibliotekom wstępne wypełnianie logów czasu kompilacji z wyprzedzeniem w celu odczytu przez ART.
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
4 września 2024 r. 1.3.1 1.4.0-rc01 - -

Deklarowanie zależności

Aby dodać zależność od ProfileInstaller, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .

Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle aplikacji lub modułu:

Odlotowe

dependencies {
    implementation "androidx.profileinstaller:profileinstaller:1.3.1"
}

Kotlin

dependencies {
    implementation("androidx.profileinstaller:profileinstaller:1.3.1")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.

Tworzenie nowego numeru

Zobacz dokumentację narzędzia Issue Tracker. .

Wersja 1.4

Wersja 1.4.0-rc01

4 września 2024 r.

Wersja androidx.profileinstaller:profileinstaller:1.4.0-rc01 została udostępniona bez zmian w porównaniu z ostatnią wersją beta. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

Wersja 1.4.0-beta01

21 sierpnia 2024 r.

Wersja androidx.profileinstaller:profileinstaller:1.4.0-beta01 została udostępniona bez zmian w porównaniu z ostatnią wersją alfa. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.

Wersja 1.4.0-alpha02

7 sierpnia 2024 r.

Usługa androidx.profileinstaller:profileinstaller:1.4.0-alpha02 została zwolniona. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę interfejsu API 35 do instalatora profilu. (6f9f6fa)

Poprawki błędów

  • Usunęliśmy ręczne dodawanie informacji o dostępie do nowych interfejsów API platformy, ponieważ dzieje się to automatycznie przez modelowanie API w przypadku korzystania z R8 z pakietem AGP w wersji 7.3 lub nowszej (np. R8 w wersji 3.3) oraz wszystkich kompilacji z pakietem AGP 8.1 lub nowszym (np. D8 w wersji 8.1). Klientom, którzy nie korzystają z pakietu AGP, zalecamy zaktualizowanie go do wersji D8 w wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (If6b4c, b/345472586)

Wersja 1.4.0-alpha01

7 lutego 2024 r.

Usługa androidx.profileinstaller:profileinstaller:1.4.0-alpha01 została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.

Poprawki błędów

  • W narzędziu do weryfikowania profilu dodano kod błędu braku profilu. (Ifb109, b/313928520)
  • Naprawia awarię, która występowała podczas usuwania cieniowania w Androidzie U (API 34) oraz w emulatorach. (I031ca, b/274314544)
  • Włączono obsługę Androida U w instalatorze profilu. (Iaf177).
  • Rozwiązaliśmy problem z instalatorem profilu na Androidzie U, który występował, ponieważ bieżący profil nie został utworzony pusty podczas uruchamiania procesu. (IE3899).
  • Napraw transkodowanie mapy bitowej metody w formacie profilu V_015S. (aosp/2906631) i (aosp/2847740)

Wersja 1.3

Wersja 1.3.1

3 maja 2023 r.

Usługa androidx.profileinstaller:profileinstaller:1.3.1 została zwolniona. Wersja 1.3.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Włączona obsługa Androida U w instalatorze profilu (Iaf177).
  • Rozwiązaliśmy problem z instalatorem profilu na Androidzie U, który występował, ponieważ bieżący profil nie został utworzony pusty podczas uruchamiania procesu. (IE3899).

Wersja 1.3.0

22 marca 2023 r.

Usługa androidx.profileinstaller:profileinstaller:1.3.0 została zwolniona. Wersja 1.3.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.2.0

  • Naprawiono NullPointerException w ProfileInstallReceiver. (b/243851384)
  • Dodano interfejs API ProfileVerifier do sprawdzania z poziomu aplikacji, czy profil podstawowy został skompilowany, zaplanowany lub którego nie ma (I263a4, b/246653809)
  • Dodaje nową transmisję powłoki, która umożliwia usłudze Macrobenchmark całkowite opróżnienie dysku danych profilu pamięci w celu uwzględnienia w generowaniu profilu podstawowego. Jest to wymagane do korzystania z biblioteki analizy porównawczej do rejestrowania profili podstawowych za pomocą funkcji BaselineProfileRule i oceny skuteczności profilu za pomocą narzędzia CompilationMode.Partial(warmupIterations).
  • Dodaliśmy kod diagnostyczny do wykrywania skompresowanych profili podstawowych. Skompresowanych profili podstawowych nie można instalować za pomocą programu Profileinstaller w testach porównawczych ani w środowisku produkcyjnym ze względu na obciążenie procesora. Należy unikać tych profili podczas tworzenia aplikacji, aktualizując je do wersji Studio/AGP Electric Eel lub bundletool w wersji 1.13.1(I86413, b/261998144).
  • Dodano haczyki dla makroporównania do przechwytywania profili i upuszczania pamięci podręcznej mechanizmu cieniowania, które są wymagane do generowania profili podstawowych lub makr porównawczych na urządzeniach bez dostępu do roota (Ie0a7d, b/250083467, b/253094958) (Ia5171, b/231455742)

Wersja 1.3.0-rc01

8 marca 2023 r.

Wersja androidx.profileinstaller:profileinstaller:1.3.0-rc01 została udostępniona bez zmian od ostatniej wersji beta. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

Wersja 1.3.0-beta01

8 lutego 2023 r.

Usługa androidx.profileinstaller:profileinstaller:1.3.0-beta01 została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Wyłącza obsługę obsługi skompresowanych profili – otwieranie i dekompresowanie prowadzi do 10-sekundowej regresji procesora podczas uruchamiania. Zamiast tego dodaliśmy obsługę diagnostyki, która wykrywa nieprawidłowo skompresowane profile podstawowe. (I86413, b/261998144)

Wersja 1.3.0-alfa03

11 stycznia 2023 r.

Usługa androidx.profileinstaller:profileinstaller:1.3.0-alpha03 została zwolniona. Wersja 1.3.0-alfa03 zawiera te zatwierdzenia.

Poprawki błędów

  • Umożliwia obsługę skompresowanych lub nieskompresowanych profili podstawowych (Ic61a0)
  • Aby nie ulegać awarii, napraw rejestr transmisji w pliku manifestu profileinstaller (I5c728, b/258619948), aby nie ulegać awariom.MacrobenchmarkScope.dropShaderCache()

Wersja 1.3.0-alfa02

9 listopada 2022 r.

Usługa androidx.profileinstaller:profileinstaller:1.3.0-alpha02 została zwolniona. Wersja 1.3.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaliśmy haczyk dla testów porównawczych pozwalający usunąć pamięć podręczną cieniowania, aby zapewnić stałą wydajność w przypadku „na zimno” w przypadku uruchomienia „na zimno”, zwłaszcza przy kompilowaniu z profilami z iteracji wstępnych. Ta aktualizacja jest wymagana do pomiaru uruchomienia „na zimno” za pomocą benchmark-macro-junit4:1.2.0-alpha05 lub nowszej wersji. Informacje o zmianach w interfejsie API biblioteki testów porównawczych znajdziesz na stronie Test porównawczy 1.2.0-alfa07. (Ia5171, b/231455742)

Wersja 1.3.0-alpha01

24 października 2022 r.

Usługa androidx.profileinstaller:profileinstaller:1.3.0-alpha01 została zwolniona. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodano interfejs API ProfileVerifier do sprawdzania z poziomu aplikacji, czy profil podstawowy został skompilowany, zaplanowany lub którego nie ma (I263a4, b/246653809)
  • Dodaje nową transmisję powłoki, która umożliwia usłudze Macrobenchmark całkowite opróżnienie dysku danych profilu pamięci w celu uwzględnienia w generowaniu profilu podstawowego. Jest to wymagane do korzystania z biblioteki analizy porównawczej do rejestrowania profili podstawowych za pomocą funkcji BaselineProfileRule i oceny skuteczności profilu za pomocą narzędzia CompilationMode.Partial(warmupIterations). (Ie0a7d, b/250083467, b/253094958)

Wersja 1.2.2

Wersja 1.2.2

11 stycznia 2023 r.

Usługa androidx.profileinstaller:profileinstaller:1.2.2 została zwolniona. Wersja 1.2.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Umożliwia obsługę skompresowanych lub nieskompresowanych profili podstawowych (Ic61a0)

Wersja 1.2.1

Wersja 1.2.1

7 grudnia 2022 r.

Usługa androidx.profileinstaller:profileinstaller:1.2.1 została zwolniona. Wersja 1.2.1 zawiera te zatwierdzenia.

Nowe funkcje

  • Włącz profileinstaller dla S_V2 (API 32) i TIRAMISU (API 33) (b/254900303).

Wersja 1.2.0

Wersja 1.2.0

27 lipca 2022 roku

Usługa androidx.profileinstaller:profileinstaller:1.2.0 została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • Dodaliśmy obsługę formatu profilu ART używanego na Androidzie 12 i nowszych.
  • Dodaj nowe interfejsy API w ProfileInstallReceiver, aby uzyskać bardziej spójne wyniki za pomocą Macrobenchmarks przy korzystaniu z profili podstawowych.

Wersja 1.2.0-rc01

15 czerwca 2022 r.

Usługa androidx.profileinstaller:profileinstaller:1.2.0-rc01 została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

  • Ta wersja jest taka sama jak androidx.profileinstaller:profileinstaller:1.2.0-beta03.

Wersja 1.2.0-beta03

1 czerwca 2022 r.

Usługa androidx.profileinstaller:profileinstaller:1.2.0-beta03 została zwolniona. Wersja 1.2.0-beta03 zawiera te zatwierdzenia.

Wersja 1.2.0-beta02

18 maja 2022 r.

Usługa androidx.profileinstaller:profileinstaller:1.2.0-beta02 została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.

  • Obsługa wersji 1.2.0-beta02 nie wymaga żadnych zmian.

Wersja 1.2.0-beta01

11 maja 2022 roku

Usługa androidx.profileinstaller:profileinstaller:1.2.0-beta01 została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaj nowe interfejsy API w ProfileInstallReceiver, aby uzyskać bardziej spójne wyniki za pomocą Macrobenchmarks przy korzystaniu z profili podstawowych. (If2ae5, b/215740637)

Poprawki błędów

  • Instalator profili przesyła pomocny komunikat podczas próby użycia formatu metadanych V_001 na Androidzie 12 i nowszych. (Aosp/1978526, b/217502387)
  • Instalator profilu używa teraz androidx.startup w wersji 1.1.1. (Aosp/2077099, b/229828376)

Wersja 1.2.0-alfa02

26 stycznia 2022 r.

Usługa androidx.profileinstaller:profileinstaller:1.2.0-alpha02 została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.

Ta wersja jest taka sama jak 1.2.0-alpha01.

Wersja 1.2.0-alpha01

12 stycznia 2022 r.

Usługa androidx.profileinstaller:profileinstaller:1.2.0-alpha01 została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy obsługę formatu profilu ART używanego na Androidzie 12 i nowszych.

Wersja 1.1.0

Wersja 1.1.0

9 lutego 2022 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0 została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.

Wersja 1.1.0-rc01

15 grudnia 2021 roku

Usługa androidx.profileinstaller:profileinstaller:1.1.0-rc01 jest udostępniana bez aktualizacji od wersji 1.1.0–beta04. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Wersja 1.1.0-beta04

1 grudnia 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0-beta04 została zwolniona. Wersja 1.1.0-beta04 zawiera te zatwierdzenia.

Wersja 1.1.0-beta03

17 listopada 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0-beta03 została zwolniona. Wersja 1.1.0-beta03 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano, aby obsługiwać funkcję tworzenia wiadomości w wersjach 1.1.0-beta03

Wersja 1.1.0-beta02

3 listopada 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0-beta02 została zwolniona. Wersja 1.1.0-beta02 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano, aby obsługiwać funkcję tworzenia wiadomości w wersjach 1.1.0-beta02

Wersja 1.1.0-beta01

27 października 2021 roku

Usługa androidx.profileinstaller:profileinstaller:1.1.0-beta01 została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

  • Brak zmian od wersji 1.1.0-alfa.

Wersja 1.1.0-alpha07

13 października 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0-alpha07 została zwolniona. Wersja 1.1.0-alfa07 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę profilu zawodowego na Androidzie N

Wersja 1.1.0-alpha06

29 września 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0-alpha06 została zwolniona. Wersja 1.1.0-alfa06 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiąż problemy z transkodowaniem elementu profileinstaller dla N, O i O_MR1. (I12d75)

Wersja 1.1.0-alpha05

15 września 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0-alpha05 została zwolniona. Wersja 1.1.0-alfa05 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawiliśmy transkodowanie profili Android Nougat i Android Oreo w przypadku pakietów apks w formacie multidex.

Wersja 1.1.0-alfa04

1 września 2021 roku

Usługa androidx.profileinstaller:profileinstaller:1.1.0-alpha04 została zwolniona. Wersja 1.1.0-alfa04 zawiera te zatwierdzenia.

Poprawki błędów

  • Popraw ProfileInstaller, aby ułatwić aplikacjom korzystającym z profili podstawowych przeprowadzanie testów porównawczych z użyciem CompilationMode.BaselineProfile. (I42657, b/196074999)

Wersja 1.1.0-alfa03

18 sierpnia 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0-alpha03 została zwolniona. Wersja 1.1.0-alfa03 zawiera te zatwierdzenia.

Poprawki błędów

  • Zmień zachowanie polegające na pomijaniu profilu, aby zapisać PackageInfo.lastUpdatedTime w pliku w katalogu plików aplikacji i porównaj go przed zainstalowaniem profilu przy następnym uruchomieniu. (IB93d1)
  • Dostosuj format profilu na urządzeniach P, Q i R, aby spełniał wymagania ART (I84e89)

Wersja 1.1.0-alfa02

4 sierpnia 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0-alpha02 została zwolniona. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.

Zaktualizowano, aby była zgodna z funkcją tworzenia wiadomości w wersjach 1.1.0-alfa.

Wersja 1.1.0-alpha01

21 lipca 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd, który w niektórych przypadkach uruchamiał tryb ścisły.

Wersja 1.0

Wersja 1.0.4

13 października 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.0.4 została zwolniona. Wersja 1.0.4 zawiera te zatwierdzenia.

  • Zaktualizowano, aby obsługiwać funkcję tworzenia wiadomości w wersji 1.0.4

Wersja 1.0.3

29 września 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.0.3 została zwolniona. Wersja 1.0.3 zawiera te zatwierdzenia.

  • Zaktualizowano, aby obsługiwać funkcję tworzenia wiadomości w wersji 1.0.3

Wersja 1.0.2

1 września 2021 roku

Usługa androidx.profileinstaller:profileinstaller:1.0.2 została zwolniona. Wersja 1.0.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Dodano transkodowanie profilu dla urządzeń P, Q i R. Ta zmiana oznacza, że te urządzenia transkodują profil, co daje pewność, że zapisany profil będzie zawsze dostępny dla ART. Wcześniej transkodowanie na tych platformach było pomijane, przez co ART czasem nie mógł przetworzyć profilu źródłowego. Brak zmian w interfejsach API dla programistów.

Wersja 1.0.1

4 sierpnia 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.0.1 została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.

Zaktualizowano, aby była zgodna z funkcją Compose 1.0.1.

Wersja 1.0.0

28 lipca 2021 roku

Usługa androidx.profileinstaller:profileinstaller:1.0.0 została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje 1.0.0

Instalator profili to nowa biblioteka, która umożliwia bibliotekom i aplikacjom definiowanie „reguł profilu” oraz łączenie informacji z profilu ART z plikiem APK. Ta biblioteka instaluje te profile po uruchomieniu aplikacji. Można to wykorzystać do zwiększenia wydajności aplikacji.

Aby dowiedzieć się, czym są reguły profilu i jak działają, zapoznaj się ze szczegółowymi informacjami o wersji pod adresem 1.0.0-beta01.

Wersja 1.0.0-rc02

14 lipca 2021 roku

Usługa androidx.profileinstaller:profileinstaller:1.0.0-rc02 została zwolniona. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.

Wersja 1.0.0-rc01

1 lipca 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.0.0-rc01 została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Jest to wersja RC – nie zmieniła się w stosunku do wersji beta.

Wersja 1.0.0-beta01

16 czerwca 2021 r.

Usługa androidx.profileinstaller:profileinstaller:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Cel biblioteki

Instalator profili to nowa biblioteka, która umożliwia bibliotekom i aplikacjom definiowanie „reguł profilu” oraz łączenie informacji z profilu ART z plikiem APK. Ta biblioteka instaluje te profile po uruchomieniu aplikacji. Można to wykorzystać do zwiększenia wydajności aplikacji.

Profil instaluje się przy użyciu biblioteki androidx.startup. Jeśli z jakiegoś powodu użytkownik chce wyłączyć instalację profilu, może zmodyfikować plik manifestu, aby go usunąć:


       <provider
           android:name="androidx.startup.InitializationProvider"
           android:authorities="${applicationId}.androidx-startup"
           android:exported="false"
           tools:node="merge">
           <meta-data android:name="androidx.profileinstaller.ProfileInstallerInitializer"
                     tools:node="remove" />
       </provider>

Jest to szczególnie przydatne, jeśli Twoja aplikacja ma proste wymagania dotyczące uruchamiania i chcesz uruchomić instalację profilu ręcznie za pomocą interfejsu API ProfileInstaller.writeProfile.

Czym są reguły profilu?

  • Reguły profilu dla biblioteki określa się w pliku tekstowym baseline-prof.txt znajdującym się w katalogu src/main lub podobnym. Plik określa regułę w każdym wierszu, gdzie reguła w tym przypadku jest wzorcem dopasowywania do metod lub klas w bibliotece. Składnia tych reguł jest elementem nadrzędnym w przypadku czytelnego dla człowieka formatu profilu ART, który jest używany, gdy używasz adb shell profman --dump-classes-and-methods .... Reguły te mogą kierować reklamy na metody lub klasy w jednej z dwóch form.

  • Reguła metody będzie miała następujący wzorzec:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Reguła klasy będzie miała następujący wzorzec:

    <CLASS_DESCRIPTOR>
    
  • <FLAGS> to co najmniej jeden ze znaków H, S i P wskazujących, czy ta metoda ma być oznaczona jako „Przebojowa”, „Uruchomienie” lub „Po uruchomieniu”.

  • <CLASS_DESCRIPTOR> to deskryptor klasy, do której należy wybrana metoda. Na przykład klasa androidx.compose.runtime.SlotTable miałaby deskryptor Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> to podpis metody. Zawiera nazwę, typy parametrów i typy zwracanych metod. Na przykład metoda fun isPlaced(): Boolean w LayoutNode ma podpis isPlaced()Z.

  • Aby jedna reguła obejmowała wiele metod lub klas, mogą one zawierać symbole wieloznaczne (**, * i ?).

Do czego służą reguły?

  • Metoda z flagą H wskazuje, że jest ona popularna. i należy ją skompilować z wyprzedzeniem.

  • Metoda z flagą S wskazuje, że jest ona wywoływana przy uruchamianiu i należy ją skompilować z wyprzedzeniem, by uniknąć kosztów kompilacji i interpretacji podczas uruchamiania.

  • Metoda z flagą P wskazuje, że jest to metoda, która jest wywoływana po uruchomieniu.

  • Klasa znajdująca się w tym pliku wskazuje, że jest używana podczas uruchamiania i powinna być wstępnie przydzielona na stercie, aby uniknąć kosztów wczytywania klasy.

Jak to działa?

  • Biblioteki mogą definiować reguły, które będą spakowane w artefaktach AAR. Po utworzeniu pliku APK zawierającego te artefakty reguły te są łączone ze sobą, a scalone reguły służą do utworzenia kompaktowego binarnego profilu ART charakterystycznego dla danego pliku APK. Gdy pakiet APK jest zainstalowany na urządzeniu, ART może potem wykorzystać ten profil, by z wyprzedzeniem skompilować określony podzbiór aplikacji w celu poprawy jej wydajności, zwłaszcza przy pierwszym uruchomieniu. Pamiętaj, że nie będzie to miało wpływu na aplikacje z możliwością debugowania.

  • Pliki reguł powinny mieć nazwę baseline-prof.txt i umieścić w katalogu głównym głównego zestawu źródłowego (powinien być plikiem równorzędnym z plikiem AndroidManifset.xml).

  • Obecnie te pliki będą używane tylko wtedy, gdy korzystasz z wtyczki Androida do obsługi Gradle w wersji 7.0 lub nowszej, a obecnie jest ona włączona tylko za pomocą flagi w gradle.properties:

    # Enable adding baseline-prof.txt files to AAR artifacts, and binary profiles to APKs
    android.experimental.enableArtProfiles=true
    

Profile wymagają salda

  • Prawidłowo utworzone profile z odpowiednim priorytetem metod i klas, które będą w ścieżce startowej, oraz klas o krytycznym znaczeniu dla wydajności zapewnią najlepsze wyniki. Jednak uwzględnienie zbyt wielu metod lub klas w profilach może mieć negatywny wpływ na wykorzystanie pamięci i wykorzystanie dysku. Dlatego zalecamy, aby podczas definiowania własnych reguł profilu zacząć ostrożnie.