Reklamı bağlayın

Hələ də iOS-da multitaskingin necə işlədiyini bilməyən bir çox insan var. Bununla belə, başlamaq üçün qeyd etmək lazımdır ki, bu, real multitasking deyil, sistemə və ya istifadəçiyə yük olmayan çox ağıllı bir həlldir.

Tez-tez iOS-da arxa planda işləyən proqramların əməliyyat yaddaşını doldurduğuna dair mövhumatlar eşidilir ki, bu da sistemin yavaşlamasına və batareyanın ömrünə səbəb olur, ona görə də istifadəçi onları əl ilə söndürməlidir. Çox vəzifəli panel əslində bütün işləyən fon proseslərinin siyahısını deyil, yalnız ən son işə salınmış proqramları ehtiva edir. Beləliklə, istifadəçi bir neçə hal istisna olmaqla, fonda işləyən proseslərdən narahat olmayacaq. Əsas düyməni basdığınız zaman proqram adətən yuxu rejiminə keçir və ya bağlanır ki, o, artıq prosessoru və ya batareyanı yükləməsin və lazım gələrsə, lazımi yaddaşı boşaltsın.

Onlarla işlədiyiniz zaman bu, tam hüquqlu multitasking deyil. Yalnız bir neçə ikinci dərəcəli proses arxa planda işləyir. Buna görə iOS-da nadir hallarda tətbiq qəzası ilə qarşılaşacaqsınız, məsələn, Android istifadəçinin qayğısına qalmalı olduğu işləyən proqramlarla doludur. Bir tərəfdən, bu, cihazla işləməyi xoşagəlməz edir, digər tərəfdən, məsələn, yavaş başlanğıc və tətbiqlər arasında keçidlərə səbəb olur.

Tətbiqin icra müddəti növü

iOS cihazınızda tətbiq bu 5 vəziyyətdən birindədir:

  • Qaçış: proqram işə salınır və ön planda işləyir
  • Fon: hələ də işləyir, lakin fonda işləyir (digər proqramlardan istifadə edə bilərik)
  • Dayandırılıb: Hələ də RAM istifadə edir, lakin işləmir
  • Qeyri-aktiv: proqram işləyir, lakin dolayı əmrlər (məsələn, proqram işlək vəziyyətdə cihazı kilidlədiyiniz zaman)
  • Çalışmır: Tətbiq dayandırıldı və ya başlamadı

Narahat olmamaq üçün proqram arxa plana keçəndə qarışıqlıq yaranır. Tətbiqi (iPad) bağlamaq üçün Home düyməsini basdığınız zaman və ya jestdən istifadə etdikdə proqram arxa plana keçir. Əksər proqramlar saniyələr ərzində dayandırılır (Onlar iDevice-in operativ yaddaşında saxlanılır ki, onlar tez işə salınsınlar, prosessoru o qədər yükləmirlər və bununla da batareyanın ömrünə qənaət edirlər) Siz düşünə bilərsiniz ki, əgər proqram yaddaşdan istifadə etməyə davam edirsə, siz onu boşaltmaq üçün əl ilə silmək. Ancaq bunu etməli deyilsiniz, çünki iOS bunu sizin yerinizə edəcək. Böyük miqdarda RAM istifadə edən bir oyun kimi arxa planda dayandırılmış tələbkar bir tətbiqiniz varsa, iOS lazım olduqda onu avtomatik olaraq yaddaşdan siləcək və siz proqram işarəsinə toxunaraq onu yenidən başlada bilərsiniz.

Bu vəziyyətlərin heç biri çoxşaxəli paneldə əks olunmur, proqramın dayandırılmasından, dayandırılmasından və ya fonda işləməsindən asılı olmayaraq, panel yalnız bu yaxınlarda işə salınmış proqramların siyahısını göstərir. Siz həmçinin qeyd edə bilərsiniz ki, hazırda işləyən proqram Çoxlu tapşırıqlar panelində görünmür

Fon tapşırıqları

Normalda Home düyməsini sıxdığınız zaman proqram arxa planda işləyəcək və siz ondan istifadə etmirsinizsə, beş saniyə ərzində avtomatik olaraq fasilə verəcək. Beləliklə, məsələn, podkast yükləyirsinizsə, sistem onu ​​işləyən proqram kimi qiymətləndirir və dayandırılmasını on dəqiqə gecikdirir. Ən geci on dəqiqədən sonra proses yaddaşdan çıxarılır. Bir sözlə, yükləməni tamamlamaq üçün 10 dəqiqədən çox vaxt çəkməzsə, Əsas Düyməni basaraq yükləməni dayandırmaqdan narahat olmaq lazım deyil.

Arxa planda qeyri-müəyyən qaçış

Fəaliyyətsizlik halında, sistem beş saniyə ərzində tətbiqi dayandırır, yükləmələr halında isə dayandırma on dəqiqə gecikir. Bununla belə, arxa planda işləməyi tələb edən az sayda proqram var. iOS 5-də qeyri-müəyyən müddətə arxa planda işləyə bilən proqramların bəzi nümunələri bunlardır:

  • Səs çalan və bir müddət kəsilməli olan proqramlar (telefon zəngi zamanı musiqinin dayandırılması və s.),
  • Məkanınızı izləyən proqramlar (naviqasiya proqramı),
  • VoIP zəngləri qəbul edən proqramlar, məsələn, Skype-dan istifadə edirsinizsə, hətta proqram fonda olduqda belə, zəng qəbul edə bilərsiniz.
  • Avtomatik yükləmələr (məsələn, Qəzet köşkü).

Bütün proqramlar artıq tapşırıq yerinə yetirmirsə (məsələn, fon yükləmələri) bağlanmalıdır. Bununla belə, yerli Mail proqramı kimi davamlı olaraq arxa planda işləyən istisnalar var. Əgər onlar arxa planda işləyirlərsə, yaddaş, CPU istifadəsini tutur və ya batareyanın ömrünü azaldır

Qeyri-müəyyən müddətə arxa fonda işləməyə icazə verilən proqramlar musiqi oxumaqdan tutmuş yeni Podcast epizodlarını endirməyə qədər işləyərkən etdikləri hər şeyi edə bilər.

Daha əvvəl qeyd etdiyim kimi, istifadəçi heç vaxt arxa planda işləyən proqramları bağlamağa ehtiyac duymur. Bunun yeganə istisnası, fonda işləyən proqramın qəzaya uğraması və ya yuxudan düzgün oyanmamasıdır. İstifadəçi daha sonra çox tapşırıq çubuğunda tətbiqləri əl ilə bağlaya bilər, lakin bu, nadir hallarda olur.

Beləliklə, ümumiyyətlə, fon proseslərini idarə etməyə ehtiyac yoxdur, çünki sistem onlarla özü məşğul olacaq. Buna görə iOS belə təzə və sürətli bir sistemdir.

Tərtibatçının nöqteyi-nəzərindən

Tətbiq çoxlu tapşırıqların bir hissəsi kimi cəmi altı müxtəlif vəziyyətlə reaksiya verə bilər:

1. applicationWillResignActive

Tərcümədə bu vəziyyət o deməkdir ki, tətbiq gələcəkdə (bir neçə millisaniyəlik məsələ) aktiv proqram (yəni, ön planda olan proqram) olmaqdan çıxacaq. Bu, məsələn, proqramdan istifadə edərkən zəng qəbul edərkən baş verir, lakin eyni zamanda, bu üsul da proqram arxa plana keçməzdən əvvəl bu vəziyyətə səbəb olur, buna görə də bu dəyişiklikləri nəzərə almaq lazımdır. Bu üsul həm də ona görə uyğundur ki, məsələn, daxil olan zəng olduqda yerinə yetirdiyi bütün fəaliyyətləri dayandırsın və zəngin sonuna qədər gözləsin.

2. applicationDidEnterBackground

Vəziyyət proqramın arxa plana keçdiyini göstərir. Tərtibatçılar bu üsuldan fonda işləməsi lazım olmayan bütün prosesləri dayandırmaq və istifadə olunmamış məlumatların yaddaşını və digər prosesləri təmizləmək üçün istifadə etməlidirlər, məsələn, vaxtı bitən taymerlər, yüklənmiş şəkilləri yaddaşdan mütləq tələb olunmayacaq şəkildə silmək və ya bağlamaq. proqramın arxa planda əlaqələri tamamlaması kritik olmadığı halda serverlərlə bağlantılar. Tətbiqdə metod çağırıldıqda, onun bir hissəsinin arxa planda işləməsi tələb olunmursa, o, əsasən tətbiqi tamamilə dayandırmaq üçün istifadə edilməlidir.

3. proqramWillEnterForeground

Bu vəziyyət, tətbiqin aktiv vəziyyətə istefa verəcəyi ilk vəziyyətin əksidir. Vəziyyət sadəcə o deməkdir ki, yuxu proqramı arxa plandan davam edəcək və növbəti bir neçə millisaniyə ərzində ön planda görünəcək. tərtibatçılar proqram arxa planda olarkən qeyri-aktiv olan prosesləri davam etdirmək üçün bu üsuldan istifadə etməlidirlər. Serverlərlə əlaqə yenidən qurulmalı, taymerlər sıfırlanmalı, şəkillər və məlumatlar yaddaşa yüklənməlidir və digər zəruri proseslər istifadəçi yüklənmiş proqramı yenidən görməzdən əvvəl bərpa oluna bilər.

4. proqramDidBecomeActive

Dövlət proqramın ön plana bərpa edildikdən sonra yenicə aktivləşdiyini göstərir. Bu, istifadəçi interfeysinə əlavə düzəlişlər etmək və ya UI-ni orijinal vəziyyətinə qaytarmaq və s. üçün istifadə edilə bilən bir üsuldur. Bu, əslində istifadəçinin proqramı artıq ekranda gördüyü anda baş verir, ona görə də bunu müəyyən etmək lazımdır. bu üsulda və əvvəlki üsulda baş verənlərə diqqət yetirin. Onlar bir neçə millisaniyəlik fərqlə bir-birinin ardınca çağırılır.

5. Tətbiq Bitəcək

Bu vəziyyət proqramın çıxışından bir neçə millisaniyə əvvəl, yəni proqramın həqiqətən dayandırılmasından əvvəl baş verir. Ya çox tapşırıqdan əl ilə, ya da cihazı söndürərkən. Metod emal edilmiş məlumatları saxlamaq, bütün fəaliyyətləri bitirmək və artıq lazım olmayacaq məlumatları silmək üçün istifadə edilməlidir.

6. proqramDidReceiveMemoryWarning

Ən çox müzakirə olunan sonuncu dövlətdir. Lazım gələrsə, sistem resurslarından lazımsız istifadə edərsə, proqramın iOS yaddaşından silinməsinə görə məsuliyyət daşıyır. Mən iOS-un fon proqramları ilə nə etdiyini dəqiq bilmirəm, lakin digər proseslərə resursları buraxmaq üçün proqrama ehtiyacı olarsa, o, yaddaşında olan hər hansı resursları buraxmaq barədə xəbərdarlıq edir. Beləliklə, bu üsul tətbiqdə çağırılır. Tərtibatçılar onu elə həyata keçirməlidirlər ki, proqram onun ayırdığı yaddaşdan imtina etsin, davam edən hər şeyi yadda saxlasın, lazımsız məlumatları yaddaşdan təmizləsin və əks halda yaddaşı adekvat şəkildə azad etsin. Düzdür, bir çox tərtibatçılar, hətta yeni başlayanlar belə şeylər haqqında düşünmürlər və ya başa düşmürlər və sonra belə şeylər ola bilər ki, onların tətbiqi batareyanın ömrünü təhdid edir və/yaxud sistem resurslarını hətta arxa planda da lazımsız şəkildə istehlak edir.

Hökm

Bu altı dövlət və onlarla əlaqəli üsullar iOS-da bütün "çox tapşırıqların" fonudur. Tərtibatçılar tətbiqin istifadəçilərinin cihazlarında nələr yaratdığına, onların minimuma endirilməsinə və ya sistemdən xəbərdarlıq almasına və s.-yə görə məsuliyyət daşımağa ehtiyac olduğunu nəzərə almamaq şərtilə əla sistemdir.

Mənbə: macworld.com

Müəlliflər: Jakub Požárek, Martin Doubek (ArnieX)

 
Sizin də həll etməli olduğunuz problem varmı? Məsləhətə ehtiyacınız varmı və ya bəlkə də düzgün tətbiq tapırsınız? Bölmədəki forma vasitəsilə bizimlə əlaqə saxlamaqdan çəkinməyin Məsləhət, növbəti dəfə sualınıza cavab verəcəyik.

.