If-Koubou

Cum gestionează procesele Android

Cum gestionează procesele Android (Cum să)

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 activități limitate în fundal. Android se află 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ă, demonstrâ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 primar. Alte procese pot fi, de asemenea, considerate procese în prim plan - de exemplu, dacă interacționează cu procesul care se află în prezent în prim-plan. Există doar câteva procese primare la un moment dat.
  • 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. Nu au nici un impact asupra experienței de utilizare a telefonului. În orice moment, multe procese de fundal sunt î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 acestora 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. Acesta poate fi păstrat în jurul scopurilor de cache pentru a accelera lansarea aplicațiilor mai târziu, sau sistemul poate ucide-l 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 primordial. Când începeți să redați muzică și părăsiți aplicația muzicală, muzica va continua să fie redată ca serviciu.

Să ne uităm la Păsările 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 la Angry Birds, acesta va deveni procesul dvs. primordial și jocul va fi reluat rapid. Angry Birds nu folosea resurse în fundal - în afară de unele RAM - dar se reia repede pentru că a rămas cached și gata să reia.

Android gestionează automat procesele

Android are o treabă bună de gestionare automată a acestor 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, dacă sunteți scăzut. Dacă aveți nevoie de mai multă memorie - de exemplu, dacă jucați un joc deosebit de exigent pe un dispozitiv fără prea multă memorie RAM, Android va începe să omoare 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 cache-ul aplicațiilor și a altor date, deoarece nu are rost să lăsați RAM-ul gol.

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 serviciu care rămâne tot timpul în desfășurare în fundal, utilizând tot timpul pentru CPU și reducând în mod drastic 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 lui. Având o pictogramă vizibilă, Avast! se face 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, de asemenea, să pornească 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 să pornească ca răspuns la o varietate de alte evenimente, cum ar fi 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.

Procesele de administrare

Nu trebuie să gestionați manual procesele, dar există câteva modalități 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 proceselor. 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, ceea ce îl va elimina din memoria dispozitivului. Acest lucru nu ar trebui să fie necesar, dar vă poate ajuta atunci când doriți să omori 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 atribuită unui alt ID de utilizator Linux sau unui cont de utilizator. Acest lucru face ca aplicațiile să se izoleze unele de altele. Dacă rădăcinați dispozitivul, aplicațiile pot să iasă din sandboxurile utilizatorilor și să ruleze cu privilegii de root.

Credit de imagine: JD Hancock pe Flickr