0Pricing
Jetpack Compose Academy · Lekcja

rememberSaveable podczas obracania ekranu

Zachowuj stan podczas zmian konfiguracji

rememberSaveable podczas obracania ekranu to bezpłatna lekcja Jetpack Compose Academy na CoddyKit. To lekcja 4 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.

Problem z obrotem ekranu

Obróć ekran, a licznik kliknięć wróci do zera. Dzieje się tak, ponieważ zmiana konfiguracji powoduje ponowne utworzenie całej aktywności Activity.

remember to za mało

remember przetrwa rekompozycję, ale nie ponowne utworzenie Activity. Gdy Activity uruchomi się ponownie, zapamiętany stan zostanie bezpowrotnie utracony.

Co wywołuje ponowne utworzenie

Obrót ekranu, zmiana języka i przełączanie trybu ciemnego to zmiany konfiguracji. Każda z nich usuwa interfejs i tworzy go ponownie od podstaw.

Poznaj rememberSaveable

rememberSaveable działa podobnie jak remember, ale dodatkowo zapisuje wartość w stanie zapisanej instancji, dzięki czemu przetrwa ponowne utworzenie.

var count by rememberSaveable { mutableStateOf(0) }

Po prostu zamień wywołanie

Często rozwiązanie wymaga zmiany jednego słowa: zamień remember na rememberSaveable, a licznik zachowa wartość po obróceniu ekranu.

Co można zapisać

Domyślnie zapisuje typy, które można przechowywać w obiekcie Bundle: Int, String, Boolean i inne typy proste. Większość prostych stanów działa od razu.

var name by rememberSaveable { mutableStateOf("") }

Własne typy wymagają obiektu Saver

W przypadku własnych klas przekaż do rememberSaveable obiekt Saver, który określi, jak przechowywać i odtwarzać obiekt jako dane bezpieczne dla Bundle.

Klasy danych bez wysiłku

W przypadku klas danych Kotlin możesz użyć pomocniczych funkcji mapSaver lub listSaver albo dodać adnotację Parcelize, aby uprościć zapisywanie.

@Parcelize
data class User(val name: String) : Parcelable

To nie trwa wiecznie

rememberSaveable przetrwa obrót ekranu i krótkie działanie aplikacji w tle, ale nie pełne zamknięcie aplikacji. Do trwałych danych nadal potrzebujesz pamięci masowej.

Kiedy po niego sięgnąć

Używaj rememberSaveable do tymczasowego stanu interfejsu, który ma przetrwać obrót ekranu, na przykład licznika, wpisanego zapytania lub indeksu karty.

remember a rememberSaveable

Zasada praktyczna: używaj remember dla tanich lub możliwych do ponownego obliczenia wartości, a rememberSaveable, gdy utrata wartości po obróceniu ekranu byłaby dla użytkownika uciążliwa.

Szybkie sprawdzenie

Które API zachowuje stan podczas obracania ekranu?

Podsumowanie

Dowiedziałeś się, że rememberSaveable zachowuje tymczasowy stan interfejsu podczas obrotu ekranu i zmian konfiguracji, a remember tego nie robi. Dobra robota! 🎉

Często zadawane pytania

Czy lekcja „rememberSaveable podczas obracania ekranu” jest bezpłatna?

Tak — pełny tekst „rememberSaveable podczas obracania ekranu” 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 „rememberSaveable podczas obracania ekranu”?

Zachowuj stan podczas zmian konfiguracji Ć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 4 z 4.

Ile czasu zajmuje lekcja „rememberSaveable podczas obracania ekranu”?

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. remember i mutableStateOf
  2. Rekompozycja: co wywołuje ponowne rysowanie
  3. Tworzenie licznika dotknięć
  4. rememberSaveable podczas obracania ekranu
← Powrót do Jetpack Compose Academy