Intern
Тафовут байни хидмати пасзамина ва хидмати пасзамина дар Android чист?
sobes.tech AI
Ҷавоб аз AI
Фарқ байни хидмати оддӣ ва хидмати маҳдуд (restricted) дар Android 8.0 (API 26) пайдо шуд.
Хидмати оддӣ:
- Мумкин аст бе маҳдудият дар пасзамана кор кунад.
- Система метавонад онро барҳам занад агар захираҳо кам шаванд, аммо метавонад дубора оғоз шавад агар дар
onStartCommand()START_STICKYбаргардонида шавад. - Намебояд ба корбар огоҳони визуалӣ нишон диҳад (гарчанде ки ин беҳтарин амал нест аз нуқтаи назари UX).
- Мумкин аст захираҳои батарея ва CPU-ро зиёд истеъмол кунад.
Хидмати маҳдуд (мавҷудияти маҳдудиятҳо):
- Хидмате, ки дар пасзамана бо шароити махсус ё дар ҳолати "худроҳ" (privileged conditions) оғоз мешавад, бо махдудиятҳо дар истифодаи захираҳо рӯбарӯ мешавад.
- Маҳдудиятҳо асосан иборатанд аз:
- Маҳдудият дар кор дар пасзамана: Хидмат метавонад аз ҷониби системаи муддати кӯтоҳ (одатан чанд дақиқа) пас аз гузаштан ба ҳолати пасзаман қатъ карда шавад.
- Манъ дар оғоз кардани хидматҳои нав дар пасзамана: Барномаҳои пасзаман наметавонанд хидматҳои навро бо
startService()оғоз кунанд. Ба ҷои ин, боядJobSchedulerёWorkManagerистифода шаванд. - Маҳдудият дар гирифтани паёмҳои васеъи эфирӣ: Паёмҳои ғайрирасмӣ (implicit broadcasts) дар манифест нодида гирифта мешаванд. Барнома бояд ба таври ошкоро қабулкунандагони паёмҳоро сабт кунад ё аз
JobScheduler/WorkManagerбарои коркарди рӯйдодҳо истифода барад.
- Ҳадафи ин маҳдудиятҳо беҳтар кардани вақти кории батарея ва иҷрои дастгоҳ аст, бо маҳдуд кардани истифодаи нодуруст аз захираҳои пасзаман.
Чӣ гуна хидмат дар назар системаи Android маҳдуд мешавад:
- Барнома дар сатҳи пеши экран қарор дорад (корбар бо он фаъолона муошират мекунад).
- Барнома хидмати намоён (foreground service) оғоз мекунад, ки огоҳии доимӣ ба корбар нишон медиҳад.
- Барнома вазифаҳои муайянро иҷро мекунад (масалан, коркарди паёмҳои васеъи эфирӣ, иҷрои вазифаҳои
JobScheduler), ки мудатан онро аз ҳолати пурра нодурустии кор дар пасзаман хориҷ мекунанд.
Фарқи асосӣ: Аз Android 8.0 ва версияҳои болои он, хидмати кор дар пасзаман бе фаъолият ё хидмати намоён маҳдуд мешавад, ки аз ҷониби системаи Android ба захираҳо ва имконияти кор дарозмуддат таъсир мерасонад. Хидмати оддӣ дар Android 8.0 ва пештар метавонад бе чунин маҳдудиятҳо кор кунад.