Sobes.tech
Junior — Middle

Кадом усулҳоро метавон барои иҷрои вазифаҳо дар Android истифода бурд, то ки онҳо ба таври даврӣ ва асинхронӣ оғоз шаванд?

sobes.tech AI

Ҷавоб аз AI

Барои иҷрои давомдор ва асинхронии вазифаҳо дар Android метавон чанд роҳро истифода бурд:

  1. WorkManager — усули тавсияшуда барои вазифаҳои таъхирдода ва даврӣ, ки ҳатто агар барнома баста шавад ё дастгоҳ ба нав барқарор шавад, бояд иҷро шаванд. Имкон медиҳад, ки давомдорӣ, шароити оғоз (масалан, боркунӣ, Wi-Fi) танзим карда шаванд.

  2. AlarmManager — имкон медиҳад, ки вазифаҳоро дар вақти муайян ё бо такрор оғоз кунад, аммо барои кор дар пасзамина ва мувофиқ бо версияҳои навтарини Android, талаб мекунад, ки коркарди иловагӣ анҷом дода шавад.

  3. JobScheduler — API барои нақшакашии вазифаҳои пасзамина бо дар назар гирифтани шароити дастгоҳ (боркунӣ, шабака). Аз Android 5.0 дастгирӣ мешавад.

  4. Handler ва Timer — барои вазифаҳои оддӣ дар дохили барномаи фаъол, аммо барои вазифаҳои дарозмуддат дар пасзамина мувофиқ нестанд.

Масалан бо WorkManager барои вазифаи даврӣ:

val workRequest = PeriodicWorkRequestBuilder<MyWorker>(15, TimeUnit.MINUTES).build()
WorkManager.getInstance(context).enqueueUniquePeriodicWork(
    "MyPeriodicWork",
    ExistingPeriodicWorkPolicy.REPLACE,
    workRequest
)

Класс MyWorker — як синф, ки аз Worker мерос мегирад, ва дар он логикаи вазифа амалӣ карда мешавад.