9Aug

Što se točno događa kada prebacujete aplikaciju za Android s popisa najnovijih aplikacija?

click fraud protection

Kada prebacujete aplikaciju s popisa trenutačno pokrenutih aplikacija na Androidu, što se točno događa s aplikacijom i podacima? Pročitajte dalje dok istražujemo.

Današnje pitanje &Sesija odgovora dolazi nam zahvaljujući Android Enthusiastu - podjele Stack Exchange, grupiranjem zajednice Q & A web stranica.

Pitanje

Čitač entuzijasta Android Eldarerathis je znatiželjan o funkcionalnosti prskanja aplikacija koja vam omogućuje da podignete svoj popis pokretnih aplikacija putem kućnog gumba, a zatim ih prebacite desno, vjerojatno da ih zatvorite:

Nedavni popis aplikacija uSladoledni sendvič dodao je mogućnost uklanjanja aplikacija iz popisa, tako da ih trajno odbacuje( i koliko znam, ovo je funkcija vanilije, a ne CM / prilagođeni ROM).Dokumentacija i naglasci na platformama ne ukazuju na to da pokrivaju funkcionalnost ove funkcionalnosti, no znatiželjan sam znati što sustav zapravo radi.

Daljnje dodavanje na moju znatiželju, odlučio sam napraviti brzu probnu verziju: pokrenuo sam Glazbu na CM9 instalaciji, a potom izašao iz njega. Potom sam pregledao popis nedavnih aplikacija i vidio da je doista tamo( iu pravilnom stanju, na temelju sličice).Potom sam otišao u Postavke & gt; Aplikacije i sila zaustavila aplikaciju Glazba, ali je još uvijek bila navedena na nedavnom popisu, što me navelo da vjerujem da nije povezano s procesima koji su ostali u pozadini.

instagram viewer

Shvativši da je Glazba možda bila loš izbor, također sam testirala pomoću aplikacije USA Today app. To je u osnovi pokazalo isto ponašanje, a činilo se kao da je prisiljeno "ponovno pokrenuti" nakon zaustavljanja sile( što ima smisla) iako je minijatura na nedavnoj popisu aplikacija ne odražavala ovo( spremljeno, pretpostavljam?).

Dakle, što se zapravo događa na razini OS-a kada prijeđete prstom putem aplikacije iz nedavnog popisa? Je li jednostavno izbrisati podatke aplikacije iz RAM-a i smeće, prikupljajući je, uništavajući njegovo spremljeno stanje?

Što se točno događa kada prebacite aplikaciju s popisa?

Odgovori

Android suradnik Austin Mills nudi uvid:

Uklanjanje aplikacija iz nedavnih popisa aplikacija je vanilija, a da, nije dobro dokumentirana. Ovo je tema pristojne rasprave na raznim forumima za Android. .. čini se da je konsenzus ovdje najbolje opisan u nekim komentarima: da je ponašanje slično, ali ne baš isto kao i zatvaranje aplikacije - općenito( za aplikacije kojene definirajte eksplicitno upravljanje natrag gumba) to je ista stvar kao što je udario dovoljno puta iz aplikacije da izađete iz nje.

Veza sadrži još pojedinosti o specifičnostima, ali sveukupno to možete smatrati odstupanjem od aplikacije.

Specifično za aplikaciju Glazba, vjerujem da pokreće uslugu, pa i sam zadatak( aplikacija za glazbu / korisničko sučelje) može biti zatvorena, usluga se nastavlja izvoditi u pozadini pa glazba ne odjednom prestaje samo zato štozadatak je izbrisan zbog razloga za upravljanje memorijom. To je moglo utjecati na ono što ste vidjeli.

Zatim, sudjelujući u životnom ciklusu pitanja i odgovora, Eldarerathis se vratio s nekim vlastitim istraživanjima kako bi zaokružio odgovor:

Čini se da sam pronašao čarobne pojmove za pretraživanje koji su doveli do nekih objašnjenja zaposlenika Googlea. Naime, pronašla sam nekoliko različitih mjesta gdje Dianne Hackborn objašnjava što se događa kad prijeđete nešto iz nedavnog popisa. Prvi je komentar na jednom od svojih postova na usluzi Google+:

[W] šešir se posebno događa kada prebrišete nedavni zadatak:( 1) ubija bilo kakve pozadinske ili prazne procese aplikacije( pogledajte ovdje što to znači)i( 2) koristi novi API kako bi ispričao sve usluge aplikacije o uklanjanju zadatka kako bi mogla učiniti sve što smatra prikladnim.

Ona također bilježi komentar na blogu:

Zapravo, uklanjanje unosa u zadanim zadacima ubiti će sve pozadinske procese koji postoje za taj proces. To neće izravno uzrokovati zaustavljanje usluga, no postoji API za njih da saznaju da je zadatak uklonjen da bi odlučili žele da to znači da bi trebali prestati. To znači da uklanjanje znači da nedavni zadatak aplikacije e-pošte neće uzrokovati zaustavljanje provjere e-pošte.

Ako zaista želite potpuno zaustaviti aplikaciju, možete dugo pritisnuti zadane zadatke da biste otišli na informacije o aplikaciji, a tamo ćete stati. Sila zaustavljanja potpuni je ubojstvo aplikacije - svi su procesi ubijeni, sve usluge prestane, sve uklonjene obavijesti, uklonjeni svi alarme i sl. Aplikacija se ne smije ponovno pokrenuti dok se to ne izričito zatraži.

Dakle, izgleda da je sažetak taj što prelijevanje aplikacije izvan popisa najprije će ubiti sve pozadinske procese za aplikaciju, a zatim upotrijebiti onTaskRemoved da biste obavijestili aplikaciju da je pozadinska zadaća uklonjena. U tom trenutku izgleda da aplikaciji treba odlučiti što se događa pa mislim da tehnički nije teško i brzo pravilo o tome što se događa s aplikacijom nakon te točke.

Imate li što dodati objašnjenju? Zvuči u komentarima.Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.