Intern
Android-də arxa plan xidməti ilə arxa plan xidməti arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Android 8.0 (API 26) ilə birlikdə, adi fon xidməti ilə məhdudlaşdırılmış (restricted) fon xidməti arasındakı fərq ortaya çıxdı.
Adi fon xidməti:
- Məhdudiyyətsiz vaxtda fon rejimində işləyə bilər.
- Sistem resurs çatışmazlığı zamanı onu dayandıra bilər, lakin
START_STICKYonStartCommand()-də geri qaytarılsa, yenidən başlatıla bilər. - İstifadəçiyə görünən bildirişlər tələb etmir (baxmayaraq ki, bu UX baxımından ən yaxşı təcrübə deyil).
- Batareya və CPU resurslarını əhəmiyyətli dərəcədə istifadə edə bilər.
Məhdudlaşdırılmış fon xidməti (tətbiq olunan məhdudiyyətlər):
- Görünən fəaliyyətlər və ya digər "ağ siyahılar" (əlavə şərtlər) olmadan fon rejimində başlatılan xidmət, resurs istifadəsində məhdudiyyətlərlə üzləşir.
- Əsas məhdudiyyətlər bunlardır:
- Fon rejimində işləmə məhdudiyyəti: Sistem, tətbiq fon rejiminə keçdikdən sonra qısa müddət (adətən bir neçə dəqiqə) içində xidməti dayandıra bilər.
- Yeni fon xidmətlərinin başlamasının qadağan olunması: Fon tətbiqi
startService()ilə yeni fon xidmətləri başlada bilməz. Bunun yerinəJobSchedulervə yaWorkManageristifadə olunmalıdır. - Broadcast mesajlarının alınmasında məhdudiyyət: Manifestdəki dolayı broadcast mesajlar (implicit broadcasts) nəzərə alınmayacaq. Tətbiq açıq şəkildə broadcast qəbul edənləri qeydiyyatdan keçirməli və ya
JobScheduler/WorkManageristifadə etməlidir.
- Bu məhdudiyyətlərin məqsədi batareyanın ömrünü və cihazın performansını yaxşılaşdırmaq, fon tətbiqlərinin resurslardan irrasyonel istifadəsini məhdudlaşdırmaqdır.
Xidmətin məhdudiyyətdən çıxması (sistem baxımından aktivləşməsi):
- Tətbiq ön planda (istifadəçi aktiv şəkildə onunla qarşılıqlı əlaqədədir).
- Tətbiq görünən xidmət başlatır (foreground service), bu da istifadəçiyə davamlı bildiriş göstərir.
- Tətbiq müəyyən tapşırıqları yerinə yetirir (məsələn, broadcast mesajlarının işlənməsi,
JobSchedulertapşırıqlarının icrası), bu da onu tam irrasyonel fon rejimindən müvəqqəti çıxarır.
Əsas fərq: Android 8.0 və yuxarı versiyalarda, istifadəçi görünən fəaliyyəti və ya görünən xidməti olmayan fon xidməti, sistem tərəfindən resurslara çıxış və uzunmüddətli işləmə baxımından məhdudlaşdırılacaqdır. Android 8.0-dan əvvəlki adi "fon xidməti" bu cür sərt məhdudiyyətlər olmadan işləyə bilərdi.