Jetpack Compose zapewnia doskonałą wydajność od razu po zainstalowaniu. Skonfiguruj aplikację, korzystając ze sprawdzonych metod, aby uniknąć typowych błędów i zoptymalizować działanie aplikacji Compose.
Umiejętności związane z Androidem
Wyświetl na GitHubieWydajność Jetpack Compose
android skills add jetpack-compose-performanceAnaliza porównawcza Jetpack Compose
Aby sprawdzić wydajność Jetpack Compose w porównaniu z widokami, używamy testów porównawczych, które koncentrują się na ważnych, rzeczywistych ścieżkach użytkownika, takich jak uruchomienie aplikacji na zimno czy przewijanie listy lub siatki z obrazami. Przeprowadzamy te testy porównawcze, korzystając z aplikacji Pokedex typu open source, porównując jej implementacje Views i Compose.
Te testy porównawcze pokazują, że od wersji Compose 1.9.0 Compose dorównuje wydajności Views pod względem zacinania się podczas przewijania (osiągając 0% zacinania się na Pixelu 6).
| Wersja Compose | Urządzenie | Nadmierne zacinanie się w stosunku do wyświetleń (p.p.) |
|---|---|---|
| 1.3.3 | Pixel 3a | +0,35 |
| 1.4.3 | Pixel 3a | +0,41 |
| 1.5.4 | Pixel 3a | +0,42 |
| 1.6.8 | Pixel 3a | +0,21 |
| 1.7.8 | Pixel 3a | +0,36 |
| 1.8.0 | Pixel 3a | +0,38 |
| 1.9.0 | Pixel 3a | 0 |
| 1.10.0 | Pixel 3a | 0 |
| 1.11 | Pixel 6 | 0 |
| 1.12 | Pixel 6 | 0 |
Dodatkowe dane i informacje o naszych metodologiach znajdziesz w artykule Wskaźniki Hero.
Kluczowe pojęcia
Oto kilka najważniejszych pojęć związanych z wydajnością w Compose:
- Etapy: zrozumienie etapów kompozycji, układu i rysowania jest kluczowe dla optymalizacji sposobu, w jaki Compose aktualizuje interfejs.
- Profile podstawowe: te profile wstępnie kompilują niezbędny kod, co przyspiesza uruchamianie aplikacji i zapewnia płynniejsze interakcje.
- Stabilność: dowiedz się, jak Compose porównuje parametry podczas rekompozycji, aby pomijać niepotrzebne działania bez wprowadzania kosztownych kontroli równości.
Prawidłowo skonfiguruj aplikację
Jeśli aplikacja działa nieprawidłowo, może to być spowodowane problemem z konfiguracją. Najlepiej zacząć od sprawdzenia tych opcji konfiguracji:
- Kompilowanie w trybie wersji z R8: spróbuj uruchomić aplikację w trybie wersji. Tryb debugowania jest przydatny do wykrywania wielu problemów, ale wpływa na wydajność i może utrudniać wykrywanie innych problemów. Aby zapewnić wydajną i efektywną kompilację do publikacji, musisz też włączyć optymalizację i zmniejszanie rozmiaru za pomocą kompilatora R8.
- Używaj profili podstawowych: profile podstawowe zwiększają wydajność dzięki wstępnej kompilacji kodu na potrzeby głównych ścieżek użytkownika. Compose zawiera profil domyślny, ale najlepiej jest też utworzyć profil aplikacji. Więcej informacji o profilach podstawowych znajdziesz w ogólnej dokumentacji dotyczącej wydajności Androida
Narzędzia
Zapoznaj się z zestawem narzędzi, które pomogą Ci mierzyć i analizować wydajność aplikacji Compose.
Sprawdzone metody
Podczas tworzenia aplikacji za pomocą Compose pamiętaj o tych sprawdzonych metodach:
- Unikaj kosztownych obliczeń: używaj
rememberdo zapisywania w pamięci podręcznej wyników kosztownych obliczeń. - Pomoc dotycząca układów Lazy: podaj stabilne parametry
keyicontentTypew układach Lazy, aby zminimalizować niepotrzebne rekompozycje i umożliwić ponowne użycie slotów. - Ogranicz niepotrzebne rekompozycje: używaj
computedStateOf(w Compose 1.13 i nowszych) lubderivedStateOf, aby ograniczyć rekompozycje podczas odczytywania szybko zmieniającego się stanu. - Odraczanie odczytów stanu: odraczaj odczyty stanu tak długo, jak to możliwe, przez opakowanie ich w funkcje lambda.
- Używaj modyfikatorów lambda do zmiany stanu: w przypadku często zmieniających się zmiennych stanu używaj modyfikatorów opartych na lambda, takich jak
Modifier.offset { ... }. - Unikaj zapisów wstecznych: nigdy nie zapisuj stanu, który został już odczytany w funkcji kompozycyjnej.
Więcej informacji znajdziesz w przewodniku po sprawdzonych metodach.
Wyświetlenia
Jeśli zamiast Compose używasz widoków, zapoznaj się z przewodnikiem Poprawianie wydajności układu.
Dodatkowe materiały
- Przewodnik po wydajności aplikacji: poznaj sprawdzone metody, biblioteki i narzędzia, które pomogą Ci zwiększyć wydajność na Androidzie.
- Sprawdzanie wydajności: sprawdzanie wydajności aplikacji.
- Analiza porównawcza: porównuj wydajność aplikacji.
- Uruchamianie aplikacji: optymalizowanie uruchamiania aplikacji.
- Profile podstawowe: dowiedz się więcej o profilach podstawowych.