Etapy tworzenia i skuteczność

Edytowanie ramki odbywa się w 3 etapach:

  • Kompozycja: sposób tworzenia określa, co ma się wyświetlać. Uruchamia funkcje kompozycyjne i tworzy drzewo UI.
  • Układ: opcja Utwórz określa rozmiar i położenie każdego elementu w drzewie interfejsu.
  • Rysunek: funkcja tworzenia renderuje poszczególne elementy interfejsu użytkownika.

Funkcja tworzenia wiadomości może w inteligentny sposób pominąć dowolną z tych faz. Załóżmy np., że 1 element graficzny zamienia się między 2 ikonami o tym samym rozmiarze. Ponieważ ten element nie zmienia rozmiaru i nie są dodawane ani usuwane żadne elementy drzewa UI, funkcja tworzenia może pominąć fazy kompozycji i układu, a następnie ponownie narysować ten element.

Błędy w kodowaniu mogą jednak utrudniać systemowi Compose określenie, które etapy może on bezpiecznie pominąć. W takim przypadku interfejs Compose uruchamia wszystkie 3 fazy, co może spowolnić działanie interfejsu użytkownika. Dlatego wiele sprawdzonych metod dotyczących wydajności pomaga w pominięciu etapów, które nie są potrzebne.

Więcej informacji znajdziesz w przewodniku Jetpack Compose Etapy.

Zasady ogólne

Oto kilka ogólnych zasad, których warto przestrzegać, aby poprawić skuteczność:

  • Gdy tylko jest to możliwe, przenoś obliczenia z funkcji kompozycyjnych. Może być konieczne ponowne uruchomienie funkcji kompozycyjnych po każdej zmianie interfejsu użytkownika. Każdy kod umieszczony w elemencie kompozycyjnym jest wykonywany ponownie (potencjalnie dla każdej klatki animacji). Ogranicz kod elementu kompozycyjnego tylko do tego, co jest potrzebne do skompilowania interfejsu użytkownika.
  • Odkładaj odczyty stanu na jak najdłuższy czas. Przenosząc odczyt stanu do etapu podrzędnego lub późniejszego etapu komponowania, możesz zminimalizować kompozycję lub całkowicie pominąć etap kompozycji. W tym celu przekazuj funkcje lambda zamiast wartości stanu w przypadku często zmieniających się stanów i preferuj modyfikatory oparte na lambda w przypadku często zmieniającego się stanu. Przykład tej metody znajdziesz w sekcji Odkładaj odczyty tak najdłużej, jak to możliwe w artykule Zastosuj sprawdzone metody.

Dodatkowe materiały