Ի՞նչ է տեղի ունենում UIViewController-ի հետ ծրագրի նվազեցման ժամանակ։
sobes.tech AI
Պատասխան AI-ից
Երբ ծրագիրը սեղմվում է UIViewController-ով, որը ներկայումս ցուցադրվում է օգտվողին, այն անցնում է հետևյալ կյանքի ցիկլի փուլերով:
- viewWillDisappear: Այս մեթոդը կանչվում է նախքան տեսքը դադարեցնի լինել տեսանելի: Այստեղ կարելի է պահպանել UI-ի վիճակը կամ չեղարկել գործողությունները:
- viewDidDisappear: Այս մեթոդը կանչվում է այն ժամանակ, երբ տեսքը ամբողջությամբ թաքնվում է:
- applicationWillResignActive: Այս մեթոդը կանչվում է
AppDelegate-ում նախքան հավելվածը անցնում է ակտիվից ոչակտիվ վիճակի (օրինակ՝ սեղմելու կամ զանգ ստանալու ժամանակ): - applicationDidEnterBackground: Այս մեթոդը կանչվում է
AppDelegate-ում, երբ հավելվածը անցնում է ֆոնային ռեժիմ: Այս վիճակում հավելվածը սահմանափակ ժամանակ ունի գործառույթների համար և կարող է դադարեցվել կամ ավարտվել համակարգի կողմից:UIViewController-ը այդ ժամանակ մնում է հիշողության մեջ, բայց նրա տեսքը չի ցուցադրվում:
Եթե հավելվածը մնում է ֆոնային ռեժիմում և չի ավարտվում համակարգի կողմից, ապա հետագա ակտիվացման ժամանակ UIViewController-ը անցնում է հակառակ փուլերով:
- applicationWillEnterForeground: Այս մեթոդը կանչվում է
AppDelegate-ում նախքան հավելվածը վերադառնում է ֆոնից ակտիվ վիճակ: - applicationDidBecomeActive: Այս մեթոդը կանչվում է
AppDelegate-ում, երբ հավելվածը կրկին դառնում է ակտիվ: - viewWillAppear: Այս մեթոդը կանչվում է նախքան տեսքը դառնում է տեսանելի: Այստեղ կարելի է թարմացնել UI-ն:
- viewDidAppear: Այս մեթոդը կանչվում է այն ժամանակ, երբ տեսքը դառնում է տեսանելի:
Կարևոր է նշել, որ UIViewController օբյեկտը ինքնին չի հեռացվում հիշողությունից սեղմելու ժամանակ, եթե այն չի արտահայտվել համակարգի կողմից ռեսուրսների բացակայության պատճառով (որը հազվադեպ է և կախված է բազմաթիվ գործոններից): Տեսքը (view) նույնպես կարող է հեռացվել հիշողությունից (viewWillUnload, viewDidUnload - մեթոդները հանվել են iOS 6-ից), եթե այն ներկայումս անհրաժեշտ չէ և համակարգը պահանջում է հիշողություն: Այդ դեպքում, երբ հաջորդ անգամ մուտք եք գործում view-ին, այն նորից կստեղծվի։