Middle+
Sistemdə tətbiqlərin prioriteti necə müəyyən edilir?
sobes.tech Süni İntellekt
AI-dan cavab
Android-də tətbiqin prioriteti bir neçə amilə əsaslanır və bunlar arasında əsas olanlar:
- Komponentin fəaliyyəti: Aktiv komponentləri (ön planda fəaliyyətlər,
startForegroundilə başlatılmış xidmətlər) olan tətbiq daha yüksək prioritetə malikdir. - Resursların istifadəsi: CPU-dan aktiv istifadə edən və ya çox yaddaş tutan tətbiqlər sistem tərəfindən daha az prioritetli kimi işarələnə bilər, bu da daha vacib tapşırıqlar üçün resursların saxlanmasına imkan verir.
- İstifadəçi interfeysi ilə əlaqə: Bu anda istifadəçi ilə birbaşa qarşılıqlı əlaqədə olan tətbiqlər ən yüksək prioriteti alır.
- Daha yüksək prioritetli proseslərlə əlaqə: Bir komponentə bağlı olan proses (məsələn, aktivlik ilə əlaqəli xidmət) daha yüksək prioritetli prosesin prioritetini miras alır.
Android sistemi bu amilləri istifadə edərək tətbiqin "əhəmiyyət səviyyəsini" (importance level) müəyyən edir, bu da nəticədə onun prosessinin yaddaş çatışmazlığı zamanı necə bitiriləcəyini (öldürüləcəyini) müəyyən edir.
Əsas proses prioritetləri səviyyələri:
- Əsas prioritetli proses: Ən vacib proses. Ekranda görünən aktivlik,
startForegroundilə başlatılmış xidmət və ya müəyyən API-lərdən istifadə edən (məsələn, başqa bir aktivliklə əlaqəli) tətbiq. Kritik resurslar tükəndikdə heç vaxt sistem tərəfindən sonlandırılmır. - Görünən proses: Əsas prioritet olmayan, amma istifadəçinin gördüyü şeyə təsir edən proses. Məsələn, əsas prioritetli aktivlik ilə əlaqəli xidmət saxlayan proses.
- Xidmət prosesi:
startServiceilə başlatılmış və əsas prioritetli xidmət kimi işarələnməmiş proses. Yaddaş çatışmazlığı ciddi olarsa, sonlandırıla bilər. - Keş proses: Aktiv komponentlər olmayan və daha sürətli yenidən başlatma üçün yaddaşda saxlanılan proses. Bu ən az prioritetli prosesdir və yaddaş çatışmazlığı zamanı ən çox ehtimal olunan sonlandırma namizədi.