Mi történik a UIViewController-rel az alkalmazás minimalizálásakor?
sobes.tech MI
Válasz az MI-től
Amikor az alkalmazást minimalizálják, a jelenleg megjelenített UIViewController a következő életciklus szakaszokon megy keresztül:
- viewWillDisappear: Ez a metódus akkor hívódik meg, mielőtt a vezérlő nézete láthatatlanná válik. Itt elmentheti a UI állapotát vagy megszakíthatja a műveleteket.
- viewDidDisappear: Ez a metódus akkor hívódik meg, miután a vezérlő nézete teljesen elrejtésre került.
- applicationWillResignActive: Ez a metódus a
AppDelegate-ben hívódik meg, mielőtt az alkalmazás inaktív állapotba lépne (például minimalizálás vagy hívás fogadása esetén). - applicationDidEnterBackground: Ez a metódus a
AppDelegate-ben hívódik meg, miután az alkalmazás háttérbe lépett. Ebben az állapotban az alkalmazásnak korlátozott ideje van feladatok végrehajtására, és a rendszer felfüggesztheti vagy leállíthatja. AUIViewControllera memóriában marad, de a nézete nem jelenik meg.
Ha az alkalmazás a háttérben marad, és nem zárja be a rendszer, akkor az aktív állapotba való visszatéréskor a UIViewController a fordított szakaszokon megy keresztül:
- applicationWillEnterForeground: Ez a
AppDelegate-ben hívódik meg, mielőtt az alkalmazás visszatérne a háttérről az első tervre. - applicationDidBecomeActive: Ez a
AppDelegate-ben hívódik meg, miután az alkalmazás újra aktívvá válik. - viewWillAppear: Ez akkor hívódik meg, mielőtt a vezérlő nézete láthatóvá válik. Itt frissítheti a UI-t.
- viewDidAppear: Ez akkor hívódik meg, miután a vezérlő nézete láthatóvá vált.
Fontos megjegyezni, hogy a UIViewController objektum nem kerül törlésre a memóriából a minimalizáláskor, kivéve, ha a rendszer kifejezetten kiüríti az erőforrások hiánya miatt (ami ritka, és sok tényezőtől függ). A vezérlő view-ja is kiüríthető a memóriából (viewWillUnload, viewDidUnload - módszerek, amelyeket az iOS 6-ban eltávolítottak), ha jelenleg nincs rá szükség, és a rendszer memóriát igényel. Ebben az esetben a view újra létrejön a következő hozzáféréskor.