Sobes.tech
Junior — Middle

Ինչպես է կառավարվում Android-ում ֆրագմենտի կյանքի ցիկլը սարքի կոնֆիգուրացիայի փոփոխության ժամանակ?

sobes.tech AI

Պատասխան AI-ից

Երբ սարքի կոնֆիգուրացիան փոխվում է (օրինակ՝ էկրանին պտտում), ակտիվությունը և դրա մասնիկները ըստ նախնական կարգավորումների ոչնչացվում և նորից ստեղծվում են։ Մասնիկի կյանքի ցիկլը անցնում է հետևյալ փուլերով:

  1. onPause() → onStop() → onDestroyView() → onDestroy() → onDetach() — մասնիկը ոչնչացվում է ակտիվության հետ միասին:
  2. Ակտիվությունը նորից ստեղծելուց հետո ստեղծվում է նոր մասնիկի օրինակ, և կանչվում են onAttach() → onCreate() → onCreateView() → onActivityCreated() → onStart() → onResume() մեթոդները:

Մասնիկի վիճակը պահպանելու համար կոնֆիգուրացիայի փոփոխության ժամանակ, կարող եք օգտագործել onSaveInstanceState() մեթոդը տվյալների պահպանման համար և վերականգնելու դրանք onCreate() կամ onViewCreated()-ում։ Կարող եք նաև օգտագործել setRetainInstance(true), որպեսզի պահպանեք մասնիկը ակտիվության վերականգնման ժամանակ, բայց այս մեթոդը հնացել է և չի խորհուրդվում:

Ավելին, ավելի ճկուն կառավարման համար հաճախ օգտագործվում է ViewModel-ը, որը գոյատևում է կոնֆիգուրացիայի փոփոխության ժամանակ և պահում է տվյալները անկախ մասնիկի կյանքի ցիկլից։