Jetpack Compose zapewnia doskonałą wydajność od razu po zainstalowaniu. Skonfiguruj aplikację zgodnie ze sprawdzonymi metodami, aby uniknąć typowych pułapek i zoptymalizować wydajność aplikacji Compose.
Testowanie porównawcze 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 zimny start aplikacji czy przewijanie listy lub siatki z obrazami. Przeprowadzamy te testy porównawcze za pomocą aplikacji Pokedex o otwartym kodzie źródłowym, porównując jej widoków i Compose implementacje.
Te testy porównawcze pokazują, że Compose 1.9 i nowsze wersje osiągają taką samą wydajność jak widoki w przypadku zacięć podczas przewijania.
Więcej informacji o dodatkowych wskaźnikach i naszych metodach znajdziesz w artykule Testy porównawcze.
Kluczowych pojęć
Oto niektóre z kluczowych pojęć związanych z wydajnością w Compose:
- Fazy: zrozumienie faz kompozycji, układu i rysowania jest kluczowe do optymalizacji sposobu, w jaki Compose aktualizuje interfejs.
- Profile podstawowe: te profile wstępnie kompilują niezbędny kod, co przyspiesza uruchamianie aplikacji i zwiększa płynność interakcji.
- Stabilność: zwiększ stabilność aplikacji, aby skuteczniej pomijać niepotrzebne rekompozycje, co poprawi wydajność.
Prawidłowe skonfigurowanie aplikacji
Jeśli aplikacja działa słabo, może to być spowodowane problemem z konfiguracją. Pierwszym krokiem jest sprawdzenie tych opcji konfiguracji:
- Kompilacja w trybie wydania za pomocą R8: spróbuj uruchomić aplikację w trybie wydania. Tryb debugowania jest przydatny do wykrywania wielu problemów, ale wiąże się z obniżeniem wydajności i może utrudniać wykrywanie innych problemów. Aby zapewnić wydajną i efektywną kompilację do publikacji, należy też włączyć optymalizację i zmniejszanie rozmiaru za pomocą kompilatora R8.
- Używanie profili podstawowych: profile podstawowe poprawiają wydajność dzięki wstępnej kompilacji kodu na potrzeby najważniejszych ścieżek użytkownika. Compose zawiera profil domyślny, ale najlepiej jest utworzyć też profil specyficzny dla 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 funkcji
rememberaby zapisywać w pamięci podręcznej wyniki kosztownych obliczeń. - **Pomagaj leniwym układom**: używaj parametru
key`key`, aby udostępniać stabilne klucze do leniwych układów, co pozwoli zminimalizować niepotrzebne rekompozycje. - Ograniczaj niepotrzebne rekompozycje: używaj funkcji
derivedStateOf, aby ograniczać rekompozycje podczas szybkiej zmiany stanu. - Odłóż odczytywanie stanu: odłóż odczytywanie stanu tak długo, jak to możliwe, umieszczając je w funkcjach lambda.
- Używaj modyfikatorów lambda do zmiany stanu: w przypadku często zmieniających się zmiennych stanu używaj modyfikatorów opartych na lambdach, takich jak
Modifier.offset { ... }. - Unikaj zapisywania wstecznego: 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 Zwiększanie 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.
- Testowanie porównawcze: testowanie porównawcze wydajności aplikacji.
- Uruchamianie aplikacji: optymalizacja uruchamiania aplikacji.
- Profile podstawowe: informacje o profilach podstawowych.