Domača » kako » Kaj točno se zgodi, ko Swipe Android App Od Nedavni Seznami Apps?

    Kaj točno se zgodi, ko Swipe Android App Od Nedavni Seznami Apps?

    Ko odrinite aplikacijo iz seznama aplikacij, ki se trenutno izvajajo v operacijskem sistemu Android, kaj se točno zgodi z aplikacijo in podatki? Beri naprej, ko raziskujemo.

    Današnja seja vprašanj in odgovorov je na voljo z namenom Android Enthusiast, ki je del skupine Stack Exchange, ki temelji na skupnostih spletnih mest za vprašanja in odgovore..

    Vprašanje

    Bralnik navdušencev Android Eldarerathis je radoveden za funkcionalnost aplikacij, ki vam omogoča, da s pomočjo gumba za dom povlečete seznam aplikacij, ki se izvajajo, in jih povlecite na desno, verjetno, da jih zaprete:

    Seznam nedavnih aplikacij v Ice Cream Sandwich je dodal možnost, da s seznama potegnete aplikacije, s čimer ste jih trajno zavrgli (in kolikor vem, je to funkcija vanilije, ne CM / custom ROM). Zdi se, da dokumentacija in poudarki platforme ne pokrivajo delovanja te funkcionalnosti, vendar me zanima, kaj sistem dejansko počne.

    Poleg tega sem se odločil narediti hiter preizkus: začel sem glasbo na namestitvi CM9, nato pa sem jo umaknil. Nato sem preveril seznam nedavnih aplikacij in videl, da je res tam (in v ustreznem stanju, ki temelji na sličici). Nato sem šel v Nastavitve-> Aplikacije in sila je ustavila aplikacijo Glasba, vendar je bila še vedno navedena na nedavnem seznamu, zaradi česar sem verjel, da ni povezan s procesi, ki se zadržujejo v ozadju.

    Zavedajoč se, da je bila glasba morda slaba izbira, sem preizkusil tudi z aplikacijo USA Today. To je v bistvu imelo enako obnašanje in zdelo se je, kot da je bil prisiljen »poživiti« po zaustavitvi sile (kar je smiselno), čeprav sličica v nedavnem seznamu aplikacij tega ni odražala (predpomnjena, ugibam?).

    Torej, kaj se dejansko zgodi na ravni operacijskega sistema, ko povlečete aplikacijo iz nedavnega seznama? Ali preprosto počistite podatke iz aplikacije iz RAM-a in zbiranje smeti, uniči njeno shranjeno stanje?

    Kaj točno se dogaja, ko aplikacijo odrinete s seznama?

    Odgovori

    Prispevka za ljubitelje Androida Austin Mills ponuja nekaj vpogleda:

    Prevzemanje aplikacij iz seznama nedavnih aplikacij je vanilija in da, ni dobro dokumentirano. To je bila tema dostojne razprave na različnih forumih Androida… zdi se, da je soglasje najbolje opisano tukaj v nekaterih komentarjih: da je vedenje podobno, vendar ne popolnoma enako kot zapiranje aplikacije - na splošno (za aplikacije, ki ne definirajte eksplicitnega rokovanja z gumbom za nazaj - to je ista stvar, kot da zadene dovolj časa v aplikaciji, ki jo zapustite.

    Povezava vsebuje nekaj podrobnosti o podrobnostih, vendar lahko na splošno menite, da gre za prekinitev aplikacije.

    Menim, da se za aplikacijo Glasba zažene storitev, tako da je, čeprav je naloga sama (aplikacija za glasbo / uporabniški vmesnik) zaprta, storitev še naprej delovala v ozadju, tako da se vaša glasba ne bo nenadoma ustavila samo zato, ker je naloga razjasnjenih razlogov za upravljanje pomnilnika. To je morda vplivalo na to, kar ste videli.

    Potem, ko je sodeloval v krogu vprašanj in odgovorov, se je Eldarerathis vrnil s svojimi lastnimi raziskavami, da bi zaključil odgovor:

    Zdi se, da sem našel čarobne iskalne izraze, ki so privedli do nekaterih pojasnil od zaposlenih v Googlu. Natančneje, našel sem nekaj različnih krajev, kjer Dianne Hackborn pojasnjuje, kaj se zgodi, ko nekaj potegneš iz nedavnega seznama. Prvi je komentar na eno od objav v storitvi Google+:

    [W] še posebej se zgodi, ko odrinete nedavno nalogo: (1) ubije vse ozadje ali prazne procese aplikacije (glej tukaj za kaj to pomeni) in (2) uporabi novi API, da pove vse storitve vlogi o odstranitvi naloge, da bi lahko storila vse, kar misli, da je primerno.

    Tudi v komentarju bloga ugotavlja:

    Odstranjevanje vnosa v nedavnih nalogah bo dejansko uničilo vse procese v ozadju, ki obstajajo za proces. Ne bo neposredno povzročilo, da se storitve ustavijo, vendar obstaja API za njih, da ugotovijo, da je bila naloga odstranjena, da se odloči, ali želijo, da to pomeni, da se morajo ustaviti. To pomeni, da odstranjevanje ne bo povzročilo, da nedavna naloga e-poštne aplikacije ustavi preverjanje e-pošte.

    Če res želite popolnoma ustaviti aplikacijo, lahko dolgo pritisnete na nedavne naloge, da greste do informacij o aplikaciji, in prisiljena sila se ustavi. Prisilna zaustavitev je popolna uničenje aplikacije - vsi procesi so uničeni, vse storitve ustavljene, vsa obvestila odstranjena, vsi alarmi so odstranjeni itd. Aplikaciji ni dovoljeno ponovno zagnati programa, dokler ni izrecno zahtevana.

    Zgleda, da povzetek pomeni, da bo z brisanjem aplikacije s seznama najprej ubil vse procese v ozadju za aplikacijo, nato pa uporabil OnTaskRemoved , da obvesti aplikacijo, da je naloga v ozadju odstranjena. Na tej točki se zdi, da je odvisno od aplikacije, da se odloči, kaj se bo zgodilo, zato mislim, da tam tehnično ni težko pravilo o tem, kaj se zgodi s to aplikacijo.


    Imate kaj dodati pojasnilu? Zvok izključen v komentarjih. Želite prebrati več odgovorov drugih uporabnikov tehnologije Stack Exchange? Oglejte si celotno nit razprave tukaj.