Jetpack Compose Academy · Lekcja

Stabilne i niestabilne parametry

Poznaj, co pozwala pomijać funkcje Composable

Lekcja 1 z 413 kroki

Stabilne i niestabilne parametry to bezpłatna lekcja Jetpack Compose Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Jetpack Compose Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Co oznacza pomijanie

Gdy funkcja Composable uruchamia się ponownie, ale jej dane wejściowe się nie zmieniły, Compose może całkowicie ją pominąć. Pomijanie sprawia, że aplikacje Compose pozostają szybkie. 🚀

Stabilność decyduje o pomijaniu

Compose pomija funkcję Composable tylko wtedy, gdy każdy parametr jest stabilny. Wystarczy jedno niestabilne wejście, aby cała funkcja była wykonywana ponownie przy każdej rekompozycji.

Co gwarantuje stabilność

Typ jest stabilny, gdy Compose może ufać, że equals() działa niezawodnie, a publiczne właściwości nie zmienią się bez powiadomienia Compose.

Typy stabilne z natury

Typy prymitywne, String i typy funkcji są domyślnie stabilne, dlatego przekazanie wartości Int lub lambdy nigdy nie blokuje pomijania.

fun Greeting(name: String, count: Int) {
  Text("Hello $name x$count")
}

Właściwości val są stabilne

Klasa zawierająca wyłącznie właściwości val typu stabilnego sama jest stabilna. Niezmienne dane to najlepsze dane wejściowe, jakie może otrzymać Compose.

data class User(val id: Int, val name: String)

var sprawia, że typ jest niestabilny

Modyfikowalna właściwość var może zmienić się poza wiedzą Compose, dlatego klasa staje się niestabilna, a jej funkcji Composable nie można już pominąć.

data class Counter(var value: Int)

Kolekcje wyglądają na niestabilne

Zwykłe typy List, Map i Set są traktowane jako niestabilne, ponieważ interfejs może ukrywać pod spodem modyfikowalny ArrayList.

fun ItemRow(items: List<String>) { }

Dlaczego interfejsy budzą obawy Compose

Parametr będący interfejsem jest niestabilny: w czasie kompilacji nie wiadomo, jaka będzie jego konkretna implementacja, więc Compose nie może zagwarantować poprawnego działania equals().

Tryb silnego pomijania

Nowsze wersje Compose oferują funkcję strong skipping, która pozwala porównywać niestabilne parametry według referencji, dzięki czemu wiele przypadków jest pomijanych bez dodatkowych adnotacji.

Rozpoznawanie niestabilnych danych wejściowych

Jeśli funkcja Composable jest przerysowywana w każdej klatce bez widocznego powodu, należy podejrzewać niestabilny parametr, który za każdym razem wymusza pełne ponowne wykonanie.

Stabilność opiera się na zaufaniu

Stabilność to obietnica składana Compose, a nie magia. Im bardziej niezmienne są dane wejściowe, tym więcej pracy Compose może pominąć.

Szybkie sprawdzenie

Sprawdź swoją znajomość stabilności.

Podsumowanie: stabilność wygrywa

Compose pomija funkcję Composable tylko wtedy, gdy każde wejście jest stabilne. Warto preferować typy prymitywne, String oraz klasy zawierające wyłącznie właściwości val, aby przerysowywanie było tanie. ✅

Bezpłatny start

Ucz się Kotlin dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Stabilne i niestabilne parametry” jest bezpłatna?

Tak — pełny tekst „Stabilne i niestabilne parametry” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Jetpack Compose Academy, przejdź na CoddyKit PRO. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Stabilne i niestabilne parametry”?

Poznaj, co pozwala pomijać funkcje Composable Ćwiczysz Jetpack Compose Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Jetpack Compose Academy?

Nie wymagamy żadnego doświadczenia. Jetpack Compose Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Stabilne i niestabilne parametry”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Jetpack Compose Academy?

Tak. Każda lekcja Jetpack Compose Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Stabilne i niestabilne parametry
  2. Pomijanie, @Stable i @Immutable
  3. Odroczone odczyty stanu
  4. Inspektor układu i liczniki rekompozycji
← Powrót do Jetpack Compose Academy