Ինչպես է կառավարվում Android-ում ֆրագմենտի կյանքի ցիկլը սարքի կոնֆիգուրացիայի փոփոխության ժամանակ?
sobes.tech AI
Պատասխան AI-ից
Երբ սարքի կոնֆիգուրացիան փոխվում է (օրինակ՝ էկրանին պտտում), ակտիվությունը և դրա մասնիկները ըստ նախնական կարգավորումների ոչնչացվում և նորից ստեղծվում են։ Մասնիկի կյանքի ցիկլը անցնում է հետևյալ փուլերով:
- onPause() → onStop() → onDestroyView() → onDestroy() → onDetach() — մասնիկը ոչնչացվում է ակտիվության հետ միասին:
- Ակտիվությունը նորից ստեղծելուց հետո ստեղծվում է նոր մասնիկի օրինակ, և կանչվում են onAttach() → onCreate() → onCreateView() → onActivityCreated() → onStart() → onResume() մեթոդները:
Մասնիկի վիճակը պահպանելու համար կոնֆիգուրացիայի փոփոխության ժամանակ, կարող եք օգտագործել onSaveInstanceState() մեթոդը տվյալների պահպանման համար և վերականգնելու դրանք onCreate() կամ onViewCreated()-ում։ Կարող եք նաև օգտագործել setRetainInstance(true), որպեսզի պահպանեք մասնիկը ակտիվության վերականգնման ժամանակ, բայց այս մեթոդը հնացել է և չի խորհուրդվում:
Ավելին, ավելի ճկուն կառավարման համար հաճախ օգտագործվում է ViewModel-ը, որը գոյատևում է կոնֆիգուրացիայի փոփոխության ժամանակ և պահում է տվյալները անկախ մասնիկի կյանքի ցիկլից։