Junior
რა არის განსხვავება ფრაგმენტის ციკლსა და Activity-ის ციკლს შორის?
sobes.tech AI
პასუხი AI-სგან
ცხოვრების ციკლი მიკრო-ფრაგმენტის მჭიდროდ დაკავშირებულია მშობელი Activity-ს სიცოცხლის ციკლთან. ფრაგმენტი ვერ არსებობს გარეშე Activity-ს.
ძირითადი განსხვავებები:
- onCreate(): ფრაგმენტს აქვს დამატებითი მეთოდი
onAttach(), რომელიც ხდებაonCreate()-ს წინ, სადაც ხდება დაკავშირება Activity-სთან (მიღება კონტექსტი Activity-ს), დაonCreateView(), სადაც ქმნიან View-ჰიერარქიას ფრაგმენტისთვის. - onDestroy(): ფრაგმენტს აქვს დამატებითი მეთოდი
onDestroyView(), რომელიც ხდებაonDestroy()-ს წინ, სადაც ხდება View-ჰიერარქიის გასუფთავება, დაonDetach()onDestroy()-ს შემდეგ, სადაც ხდება დაკავშირების გაწყვეტა. - მდგომარეობა: ფრაგმენტი შეიძლება დაემატოს Activity-ის ბექსტეკში, რაც საშუალებას აძლევს მისი მდგომარეობის აღდგენა დაბრუნებისას. Activity საბოლოოდ განადგურდება.
- შენახვა: Activity მუშაობს ეკრანის დონეზე, ხოლო ფრაგმენტები შეიძლება იყოს ერთმანეთზე და Activity-ზე შერწყმული.
ძირითადი მეთოდების სიცოცხლის ციკლის შედარებითი სია:
| Activity მეთოდი | ფრაგმენტის მეთოდი(ები) | აღწერა |
|---|---|---|
onCreate() |
onAttach(), onCreate(), onCreateView() |
ნიმუშის შექმნა, დაკავშირება, View-ის შექმნა |
onStart() |
onStart() |
ხდება ხილული |
onResume() |
onResume() |
იწყებს ურთიერთქმედებას მომხმარებელთან |
onPause() |
onPause() |
გადადის უკანა პლანზე ან ნაწილობრივ მალავს |
onStop() |
onStop() |
ხდება უხილავი |
onDestroy() |
onDestroyView(), onDestroy(), onDetach() |
View-ის განადგურება, ნიმუშის, გაწყვეტა |
ფრაგმენტის სიცოცხლის ციკლი უფრო გრაფიკულია, რაც საშუალებას აძლევს უფრო მოქნილი მართვა UI-კომპონენტების მდგომარეობისა და ქცევის ერთ Activity-ის ფარგლებში. მაგალითად, onCreateView() იძახება ყოველ ჯერზე, როდესაც ქმნიან View-ეს, მიუხედავად იმისა, რომ თავად ფრაგმენტი უკვე შექმნილია (მაგალითად, კონფიგურაციის ცვლილების დროს). onCreate() იძახება მხოლოდ ერთხელ, ფრაგმენტის სიცოცხლის ციკლში.