Jetpack Compose zapewnia doskonałą wydajność od razu po zainstalowaniu. Skonfiguruj aplikację, korzystając ze sprawdzonych metod, aby uniknąć typowych błędów i zoptymalizować wydajność 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 za pomocą aplikacji Pokedex typu open source, porównując jej implementacje Views i Compose.
Te testy porównawcze pokazują, że Compose 1.9 i nowsze wersje dorównują wydajności widoków pod względem zacinania się podczas przewijania.
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:
- Fazy: zrozumienie faz 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 uniknąć niepotrzebnej pracy 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 za pomocą R8: spróbuj uruchomić aplikację w trybie wersji. Tryb debugowania jest przydatny do wykrywania wielu problemów, ale obniża wydajność i może utrudniać wykrywanie innych problemów. Aby zapewnić wydajną i skuteczną 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 buforowania wyników kosztownych obliczeń. - Pomoc w przypadku układów typu lazy: podaj stabilne parametry
keyicontentTypew układach typu 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 opakowywanie 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: optymalizuj uruchamianie aplikacji.
- Profile podstawowe: dowiedz się, czym są profile podstawowe.