Junior — Middle
როგორ განვსაზღვროთ კორუტინების ხილვადობის სფერო პროგრამირებაში?
sobes.tech AI
პასუხი AI-სგან
კორუტინას (Coroutine Scope) ხილვადობის სფერო განსაზღვრავს სიცოცხლის ციკლს და კონტექსტს, რომელშიც კორუტინა ხორციელდება. Android-ზე ჩვეულებრივ გამოიყენება სხვადასხვა scope-ები, რათა მართოს კორუტინების სიცოცხლის ხანგრძლივობა და თავიდან აიცილოს მეხსიერების გაჟონვა.
მაგალითად:
- GlobalScope — კორუტინები ცხოვრობენ მანამ, სანამ მუშაობს აპლიკაცია, UI-სამუშაოებისთვის არ არის რეკომენდებული.
- CoroutineScope, დაკავშირებული კომპონენტის სიცოცხლის ციკლთან (მაგალითად,
lifecycleScopeActivity ან Fragment-ში) — კორუტინები ავტომატურად გაუქმდება კომპონენტის განადგურებისას.
lifecycleScope-ის გამოყენების მაგალითი:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
lifecycleScope.launch {
// კორუტინას კოდი, რომელიც გაუქმდება Activity-ის განადგურებისას
delay(1000)
println("კორუტინა დასრულდა")
}
}
}
ამ გზით, კორუტინას ხილვადობის სფერო განსაზღვრულია იმ scope-ით, სადაც ის იწყება, და ეს scope მართავს მის სიცოცხლის ციკლს.