Wprowadzenie do cyklu życia aplikacji mobilnych
Cykl życia aplikacji mobilnej definiuje różne stany, przez które przechodzi aplikacja podczas użycia: uruchomiony, aktywny, tło, zawieszony i zakończony. Poprawne zarządzanie cyklem życia gwarantuje poprawny obsługiwania przejść między stanami, skuteczną wykorzystanie zasobów, zachowanie stanu i płynny doświadczenie użytkownika.
Zrozumienie cyklu życia jest kluczowe dla zarządzania pamięcią, obsługi zadań w tle, zachowania stanu i zapewnienia odpowiedzi aplikacji na wydarzenia systemowe. Każda platforma (iOS, Android) ma swoje własne wzory i najlepsze praktyki cyklu życia.
Cykl życia aplikacji mobilnej
Stan aplikacji
Stan aplikacji na systemie iOS:
Stanów:
Nie uruchomione: Aplikacja nie jest uruchomiona.
Niewykonujący się: Przejściowy stan.
Aktywny: Aplikacja działa w pierwsoplanowym stanie.
Tło: Aplikacja znajduje się na tle, wykonywana jest kod.
Zawieszony: Aplikacja istnieje w pamięci, ale nie wykonywa się.
Metody cyklu życia:
application:didFinishLaunchingWithOptions:
applicationWillEnterForeground:
applicationDidBecomeActive:
applicationWillResignActive:
applicationDidEnterBackground:
applicationWillTerminate:
Cykl życia aktywności na systemie Android
Wywołania cyklu życia:
onCreate() - Początkowa tworzenie
onStart() - Stawać się widoczne
onResume() - Stawać się interakcyjne
onPause() - Stracenie skupienia
onStop() - Nie widoczne
onDestroy() - Ostateczna czyszczenie
onRestart() - Ponowne uruchomienie zatrzymanego stanu
Stan procesów:
Proces w pierwsoplanowym stanie
Widoczny proces
Proces usługi
Proces tło
Pusty proces
Zachowanie i Odzyskiwanie Stanu
Zachowanie stanu na iOS
Kodowanie/dekodowanie stanu UI
Automatyczne odzyskiwanie stanu
Identyfikatory odzyskiwania
Stan sceny (iOS 13+)
Zapis stanu na Androidzie
onSaveInstanceState()
ViewModel dla zmian konfiguracyjnych
SavedStateHandle
Obsługa śmierci procesu
Wykonanie w tle
Tryb wykonania w tle na iOS
Znajdywanie w tle
Powiadomienia odległych
Przetwarzanie w tle
Aktualizacje lokalizacji
Praca w tle na Androidzie
WorkManager
Usługi w przyspieszonym trybie
JobScheduler
Ograniczenia związane z wykonaniem w tle
Spróbuj to na żywo
Wszystko powyżej działa w Twojej przeglądarce — otwórz Visualizator Funkcji Hash i zmieniaj parametry podczas jego działania. Nic nie jest zainstalowane, nic nie jest przesłane, cała modelika istnieje w jednym zakładku.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Hash Function Avalanche Visualizer i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację Hash Function Avalanche Visualizer