Sobes.tech
Junior — Middle

როგორ განვსაზღვროთ კორუტინების ხილვადობის სფერო პროგრამირებაში?

sobes.tech AI

პასუხი AI-სგან

კორუტინას (Coroutine Scope) ხილვადობის სფერო განსაზღვრავს სიცოცხლის ციკლს და კონტექსტს, რომელშიც კორუტინა ხორციელდება. Android-ზე ჩვეულებრივ გამოიყენება სხვადასხვა scope-ები, რათა მართოს კორუტინების სიცოცხლის ხანგრძლივობა და თავიდან აიცილოს მეხსიერების გაჟონვა.

მაგალითად:

  • GlobalScope — კორუტინები ცხოვრობენ მანამ, სანამ მუშაობს აპლიკაცია, UI-სამუშაოებისთვის არ არის რეკომენდებული.
  • CoroutineScope, დაკავშირებული კომპონენტის სიცოცხლის ციკლთან (მაგალითად, lifecycleScope Activity ან 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 მართავს მის სიცოცხლის ციკლს.