Profile startupów to podzbiór profili podstawowych. System kompilacji używa profili uruchamiania, aby optymalizować klasy i metody zawarte w nich, ulepszając układ kodu w plikach DEX pliku APK. Dzięki profilom uruchamiania aplikacja uruchamia się zwykle od 15% do 30% szybciej niż w przypadku samych profili bazowych.

Wymagania
Zalecamy korzystanie z profili uruchamiania z tymi narzędziami:
- Jetpack Macrobenchmark w wersji 1.2.0 lub nowszej
- Wtyczka Androida do obsługi Gradle w wersji 8.2 lub nowszej
- Android Studio Iguana lub nowszy
Dodatkowo w aplikacji musisz mieć te ustawienia:
- Włączono R8. W przypadku wersji wydania ustaw
isMinifyEnabled = true
. - Włączono optymalizacje układu DEX. W bloku
baselineProfile {}
pliku kompilacji modułu aplikacji ustaw wartośćdexLayoutOptimization = true
.
Tworzenie profilu startowego
Gdy użyjesz domyślnego szablonu generatora profili podstawowych, Android Studio utworzy profil startowy obok profilu podstawowego.
Ogólne czynności związane z tworzeniem i generowaniem profilu startupu są takie same jak te dotyczące tworzenia profilu podstawowego.
Domyślny sposób tworzenia profilu startowego polega na użyciu szablonu modułu Generator profili bazowych w Android Studio. Obejmuje to interakcje na etapie uruchamiania, które tworzą podstawowy profil. Aby rozszerzyć ten profil uruchamiania o kolejne krytyczne ścieżki użytkownika, dodaj do bloku rule
ścieżki uruchamiania aplikacji, dla których includeInStartupProfile
ma wartość true
. W przypadku prostych aplikacji wystarczy uruchomić MainActivity
. W przypadku bardziej złożonych aplikacji warto dodać najpopularniejsze punkty wejścia do aplikacji, takie jak uruchamianie aplikacji z poziomu ekranu głównego lub uruchamianie za pomocą precyzyjnego linku.
Poniższy fragment kodu pokazuje generator profilu podstawowego (domyślnie plik BaselineProfileGenerator.kt
), który obejmuje uruchamianie aplikacji z ekranu głównego i uruchamianie za pomocą linku bezpośredniego. Precyzyjny link prowadzi bezpośrednio do kanału z wiadomościami aplikacji, a nie na jej ekran główny.
@RunWith(AndroidJUnit4::class)
@LargeTest
class BaselineProfileGenerator {
@get:Rule
val rule = BaselineProfileRule()
@Test
fun generate() {
rule.collect(
packageName = "com.example.app",
includeInStartupProfile = true
) {
// Launch directly into the NEWS_FEED.
startActivityAndWait(Intent().apply {
setPackage(packageName)
setAction("com.example.app.NEWS_FEED")
})
}
}
}
Uruchom generowanie profilu bazowego dla aplikacji i znajdź reguły profilu startowego na stronie src/<variant>/generated/baselineProfiles/startup-prof.txt
.
Wskazówki dotyczące tworzenia profili startupów
Dane wyjściowe klas i metod profilu startowego są ograniczone rozmiarem pierwszego pliku classes.dex. Oznacza to, że nie wszystkie ścieżki profilu podstawowego powinny być ścieżkami profilu startowego.
Aby zdecydować, które ścieżki użytkownika uwzględnić podczas tworzenia profilu uruchamiania, zastanów się, od czego zaczynają aplikację większość użytkowników. Zwykle jest to z wyrzutni aplikacji po zalogowaniu się. Jest to też najprostsza ścieżka profilu podstawowego.
Po omówieniu pierwszego przypadku użycia przejdź do ścieżki użytkownika w przypadku uruchamiania aplikacji. W wielu przypadkach ścieżki uruchamiania aplikacji wyglądają tak:
- Główna aktywność programu uruchamiającego
- Powiadomienia, które uruchamiają aplikację
- Opcjonalne działania w uruchomieniach
Przejrzyj tę listę od góry i zatrzymaj się, zanim classes.dex zostanie zapełniony. Aby uwzględnić więcej podróży, usuń kod z ścieżki uruchamiania i dodaj więcej podróży. Aby usunąć kod z ścieżki uruchamiania, sprawdź ścieżki Perfetta podczas uruchamiania aplikacji i poszukaj operacji o długim czasie działania. Możesz też użyć makrobenchmarku z włączonym śledzeniem metod, aby uzyskać pełny widok wywołań metod podczas uruchamiania aplikacji.
Obecnie nie ma rekomendacji.
Zaloguj się na swoje konto Google.