Instalator profilu
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
7 sierpnia 2024 r. | 1.3.1 | - | - | 1.4.0-alfa02 |
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:
Odlotowy
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.
Zobacz dokumentację narzędzia Issue Tracker. .
Wersja 1.4
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
wProfileInstallReceiver
. (b/243851384) - Dodano interfejs API
ProfileVerifier
pozwalający na sprawdzanie 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ą usługi
BaselineProfileRule
i oceny skuteczności profilu za pomocą narzędziaCompilationMode.Partial(warmupIterations)
. - Dodaliśmy kod diagnostyczny do wykrywania skompresowanych profili podstawowych. Skompresowanych profili podstawowych nie można instalować za pomocą programu Profileinstaller w testach Macroporó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 wersji1.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
- Eliminuje 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ą usługi
BaselineProfileRule
i oceny skuteczności profilu za pomocą narzędziaCompilationMode.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 program 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 wersji1.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 za pomocą 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życiemCompilationMode.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 katalogusrc/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żywaszadb 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ówH
,S
iP
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 klasaandroidx.compose.runtime.SlotTable
miałaby deskryptorLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
to podpis metody. Zawiera nazwę, typy parametrów i typy zwracanych metod. Na przykład metodafun isPlaced(): Boolean
wLayoutNode
ma podpisisPlaced()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 plikiemAndroidManifset.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.