როგორ ინარჩუნებს ViewModel თავისი სიცოცხლისუნარიანობას Activity-ის განადგურების შემდეგ?
sobes.tech AI
პასუხი AI-სგან
Android-ში ViewModel ინარჩუნებს თავის სიცოცხლისუნარიანობას Activity-ის განადგურების შემდეგაც, რადგან ის დაკავშირებულია კომპონენტის სიცოცხლის ციკლთან არქიტექტურულ დონეზე, არა პირდაპირ Activity-სთან.
როდესაც Activity განადგურდება, მაგალითად, ეკრანის ბრუნვის დროს, სისტემა ქმნის ახალ Activity-ს, მაგრამ ViewModel რჩება და მიეწოდება ახალ Activity-ს იგივე სიცოცხლის ციკლთან ერთად.
ეს მიღწეულია ViewModelProvider კლასის საშუალებით, რომელიც ინახავს ViewModel-ის მაგალითს სპეციალურ საცავში, რომელიც დაკავშირებულია მფლობელის (Activity ან Fragment) სიცოცხლის ციკლთან. მანამ, სანამ მფლობელი ცოცხალია, ViewModel ინახება.
ამ გზით, ViewModel საშუალებას აძლევს შეინახოს მდგომარეობა და მონაცემები Activity-ის ხელახლა შექმნის შორის, გარეშე საჭიროების მათ ხელით შენახვის onSaveInstanceState-ის საშუალებით.
მაგალითი:
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
აქ, this არის Activity ან Fragment, და ViewModel იცოცხლებს მანამ, სანამ ეს კომპონენტი ცოცხალია, even if Activity-ი ხელახლა შეიქმნება.