Sobes.tech
Middle

Tətbiqi kiçiltərkən UIViewController ilə nə baş verir?

sobes.tech Süni İntellekt

AI-dan cavab

Tətbiqi simgeyə qoyarkən, hazırda istifadəçiyə göstərilən UIViewController aşağıdakı həyat dövrü mərhələlərindən keçir:

  1. viewWillDisappear: Bu metod, controllerin görünüşü görünməz olmadan əvvəl çağrılır. Burada UI vəziyyətini yadda saxlaya və ya əməliyyatları ləğv edə bilərsiniz.
  2. viewDidDisappear: Bu metod, controllerin görünüşü tamamilə gizlədildikdən sonra çağrılır.
  3. applicationWillResignActive: Bu, AppDelegatedə, tətbiq aktiv vəziyyətdən qeyri-aktiv vəziyyətə keçməzdən əvvəl çağrılır (məsələn, simgeyə qoyarkən və ya zəng qəbul edərkən).
  4. applicationDidEnterBackground: Bu, AppDelegatedə, tətbiq arxa plana keçdikdən sonra çağrılır. Bu vəziyyətdə, tətbiqin yerinə yetirməsi üçün məhdud vaxtı var və sistem tərəfindən dayandırıla və ya bağlana bilər. UIViewController yaddaşda qalır, lakin onun görünüşü göstərilmir.

Əgər tətbiq arxa planda qalır və sistem tərəfindən bağlanmırsa, aktiv vəziyyətə qayıtdıqda, UIViewController aşağıdakı tərs mərhələlərdən keçir:

  1. applicationWillEnterForeground: Bu, AppDelegatedə, tətbiq arxa plandan yenidən ön plana keçməzdən əvvəl çağrılır.
  2. applicationDidBecomeActive: Bu, AppDelegatedə, tətbiq yenidən aktiv olduqdan sonra çağrılır.
  3. viewWillAppear: Bu, controllerin görünüşü görünən olmadan əvvəl çağrılır. Burada UI yenilənə bilər.
  4. viewDidAppear: Bu, controllerin görünüşü görünəndən sonra çağrılır.

Əhəmiyyətlidir ki, UIViewController obyekti, minimalizə edilərkən, sistem resurs çatışmazlığı səbəbilə açıq şəkildə silinməz (bu nadir hallarda olur və çox amillərə bağlıdır). Controllerin view-i də yaddaşdan silinə bilər (viewWillUnload, viewDidUnload - metodlar iOS 6-da silinmişdir) əgər hazırda lazım deyilsə və sistem yaddaşa ehtiyac duyursa. Bu halda, növbəti girişdə view yenidən yaradılacaq.