Pagina principala » HOWTO » Modul în care Android gestionează procesele

    Modul în care Android gestionează procesele

    Windows permite aplicațiilor desktop să rămână difuzate, indiferent dacă sunt vizibile sau nu, în timp ce iOS-ul Apple permite numai aplicațiilor să efectueze câteva sarcini limitate în fundal. Android se situează undeva între ele - aplicațiile care rulează în prim-plan sunt prioritizate, dar aplicațiile au mult mai multă libertate de a rula în fundal decât în ​​cazul aplicațiilor iOS.

    Vom analiza exact modul în care Android gestionează aplicațiile și procesele care rulează pe telefon sau pe tabletă, demistificând ce se întâmplă în fundal.

    Ierarhia ciclului de viață al procesului

    Un proces pe Android poate fi în una din cele cinci stări diferite, la un moment dat, de la cel mai important la cel mai puțin important:

    • 1. Procesul primordial: Aplicația pe care o utilizați este considerată proces în prim-plan. Alte procese pot fi, de asemenea, considerate procese primare - de exemplu, dacă interacționează cu procesul care se află în prezent în prim-plan. Există doar câteva procese primare în orice moment.
    • 2. Proces vizibil: Un proces vizibil nu este în prim-plan, dar afectează în continuare ceea ce vedeți pe ecran. De exemplu, procesul în prim-plan poate fi un dialog care vă permite să vedeți o aplicație în spatele acestuia - aplicația vizibilă în fundal ar fi un proces vizibil.
    • 3. Procesul de service: Un proces de serviciu nu este legat de nicio aplicație care este vizibilă pe ecran. Cu toate acestea, face ceva în fundal, cum ar fi redarea de muzică sau descărcarea datelor în fundal. De exemplu, dacă începeți să redați muzică și treceți la o altă aplicație, redarea muzicii în fundal este tratată printr-un proces de serviciu.
    • 4. Procesul de fond: Procesele de fundal nu sunt vizibile în prezent pentru utilizator. Ele nu au nici un impact asupra experienței de utilizare a telefonului. În orice moment, multe procese de fundal sunt în prezent în desfășurare. Vă puteți gândi la aceste procese de fundal ca la aplicații "întrerupte". Ele sunt păstrate în memorie, astfel încât să puteți relua rapid utilizarea lor atunci când vă întoarceți la ele, dar acestea nu utilizează timp CPU valoros sau alte resurse care nu sunt de memorie.
    • 5. Goliți procesul: Un proces gol nu conține date despre aplicații. Poate fi păstrată în scopuri de cache pentru a accelera lansarea aplicațiilor mai târziu, sau sistemul poate să-l omoare după cum este necesar.

    De exemplu, să presupunem că porniți telefonul și deschideți o aplicație muzicală. În timp ce îl folosiți, aplicația muzicală va fi un proces în prim-plan. Când începeți să redați muzică și părăsiți aplicația muzicală, muzica va continua să fie redată ca proces de serviciu.

    Să ne uităm la Păsări supărat ca pe un alt exemplu. Angry Birds ar fi un proces în prim-plan în timp ce îl jucați. Când părăsiți Angry Birds și intri în aplicația Gmail pentru a-ți vedea e-mailul, Angry Birds devine un proces de fundal (pentru că nu trebuie să facă nimic în fundal), în timp ce Gmail devine procesul primordial. Când vă întoarceți înapoi la Angry Birds, acesta va deveni procesul dvs. în prim-plan și jocul va fi reluat rapid. Angry Birds nu folosea resursele în fundal - în afară de unele memorii RAM - dar se reia repede pentru că a rămas memorat și gata să reia.

    Android gestionează automat procesele

    Android are o treabă bună de a gestiona automat aceste procese, motiv pentru care nu aveți nevoie de un ucigaș de sarcini pe Android.

    Când Android are nevoie de mai multe resurse de sistem, va începe să ucidă mai întâi cele mai puțin importante procese. Android va începe să ucidă procesele goale și de fundal pentru a elibera memoria în cazul în care sunteți scăzut. Dacă aveți nevoie de mai multă memorie - de exemplu, dacă jucați un joc deosebit de solicitant pe un dispozitiv fără prea multă memorie RAM, Android va începe să ucidă procesele de serviciu, astfel încât muzica dvs. de streaming și descărcările de fișiere se pot opri.

    În cele mai multe cazuri, Android face acest lucru fără să vă faceți griji. Android utilizează în mod inteligent memoria RAM a dispozitivului pentru a cache aplicații și alte date, deoarece nu are rost să părăsiți memoria RAM goală.

    Desigur, Android oferă aplicații cu o flexibilitate atât de mare încât au loc să se poarte greșit. De exemplu, o aplicație slab codificată ar putea să înceapă un proces de întreținere care să rămână tot timpul în desfășurare în fundal, folosindu-vă tot timpul pentru CPU și reducând dramatic durata de viață a bateriei.

    Un lucru interesant îl veți observa în aplicațiile antivirus cum ar fi Avast! pentru Android este că aplicația antivirus utilizează o pictogramă de notificare. dacă încercați să dezactivați pictograma de notificare, Avast! va recomanda împotriva sa. Având o pictogramă vizibilă, Avast! se pretează la o aplicație cu prioritate mai mare, împiedicând Android să considere aplicația de fundal și să o omoare.

    Aplicațiile Android pot porni ca răspuns la evenimente

    Aplicațiile Android pot porni, de asemenea, ca răspuns la evenimente. De exemplu, un dezvoltator ar putea programa aplicația să ruleze automat la pornire și să ruleze un serviciu în fundal. Aplicațiile pot porni ca răspuns la o varietate de alte evenimente, cum ar fi atunci când faceți o fotografie, când modificați conexiunea dvs. de date și așa mai departe. Acest lucru permite aplicațiilor să efectueze acțiuni ca răspuns la evenimente, fără a fi difuzate în mod constant în fundal.

    Gestionarea proceselor

    Nu trebuie să gestionați manual procesele, dar există câteva moduri de a face acest lucru dacă doriți. Puteți utiliza meniul de multitasking pe Android 4.0 și versiuni ulterioare pentru a face unele gestionări de bază ale procesului. Pentru ao accesa, atingeți butonul dedicat multitasking pe dispozitivele Nexus. Pe alte dispozitive Android, este posibil să fie nevoie să atingeți dublu sau să apăsați lung butonul Acasă.

    Aplicațiile afișate în meniu sunt probabil în starea "proces de fundal". Le puteți omorî prin deplasarea unei aplicații spre stânga sau spre dreapta, care o va elimina din memoria dispozitivului. Acest lucru nu ar trebui să fie necesar, dar vă poate ajuta atunci când doriți să ucideți rapid o aplicație - poate că este greșită.

    De asemenea, puteți accesa ecranul Setări, atingeți Aplicații, atingeți o aplicație și utilizați butonul Oprire forțată pentru a ucide o aplicație defectuoasă.


    Android se bazează pe Linux, iar fiecare aplicație pe Android este alocată unui alt ID de utilizator Linux sau unui cont de utilizator. Acest lucru distorsionează aplicațiile una de cealaltă. Dacă rădăcinați dispozitivul, aplicațiile pot să scape de sandboxurile utilizatorilor și să se execute cu privilegii de root.

    Credit de imagine: JD Hancock pe Flickr