Middle
Co se stane s UIViewController při minimalizaci aplikace?
sobes.tech AI
Odpověď od AI
Při minimalizaci aplikace prochází aktuálně zobrazovaný UIViewController následujícími fázemi životního cyklu:
- viewWillDisappear: Tato metoda je volána před tím, než se pohled kontroléru stane neviditelným. Zde můžete uložit stav UI nebo zrušit operace.
- viewDidDisappear: Tato metoda je volána po úplném skrytí pohledu kontroléru.
- applicationWillResignActive: Tato metoda je volána v
AppDelegatepřed tím, než aplikace přejde z aktivního do neaktivního stavu (například při minimalizaci nebo příjmu hovoru). - applicationDidEnterBackground: Tato metoda je volána v
AppDelegatepo přechodu aplikace do režimu na pozadí. V tomto stavu má aplikace omezený čas na vykonání úkolů a může být systémem pozastavena nebo ukončena.UIViewControllerzůstává v paměti, ale jeho pohled není zobrazován.
Pokud aplikace zůstane na pozadí a není systémem ukončena, při návratu do aktivního stavu prochází UIViewController opačnými fázemi:
- applicationWillEnterForeground: Tato metoda je volána v
AppDelegatepřed tím, než se aplikace vrátí z režimu na pozadí do aktivního stavu. - applicationDidBecomeActive: Tato metoda je volána v
AppDelegatepo tom, co se aplikace opět stane aktivní. - viewWillAppear: Tato metoda je volána před tím, než se pohled kontroléru stane viditelným. Zde můžete aktualizovat UI.
- viewDidAppear: Tato metoda je volána po tom, co se pohled kontroléru stane viditelným.
Je důležité poznamenat, že objekt UIViewController není při minimalizaci odstraněn z paměti, pokud jej systém explicitně neuvolní kvůli nedostatku zdrojů (což je vzácné a závisí na mnoha faktorech). Pohled (view) kontroléru může být také odvolán z paměti (viewWillUnload, viewDidUnload - metody byly odstraněny v iOS 6), pokud není v danou chvíli potřeba a systém potřebuje paměť. V takovém případě bude při příštím přístupu k view znovu vytvořen.