9Aug

Co přesně nastane, když přejdete přes Android App z seznamu posledních aplikací?

click fraud protection

Když přetáhnete prstem z vašeho Android aktuálně běžícího seznamu aplikací, co se přesně stane s aplikací a daty? Přečtěte si, jak to zkoumáme.

dnešní otázka &Zasedání s odpověďmi nám přichází s laskavým svolením Android Enthusiast - dílčího rozdělení Stack Exchange, což je komunita řízená skupina webů Q & A.

Otázka

Čtenář Android nadšence Android Eldarerathis je zvědavý na funkci přetahování aplikací, která vám umožní vytáhnout seznam běžících aplikací pomocí tlačítka domů a pak je přetáhněte doprava, pravděpodobně je zavřete:

Poslední seznam aplikací vIce Cream Sandwich přidala možnost vynechávat aplikace ze seznamu, čímž je trvale odmítá( a pokud vím, že je to funkce vanilky, nikoliv CM / vlastní ROM).Dokumentace a zdůraznění platformy nezdá se, že by pokrývaly fungování této funkce, ale jsem zvědavý, co vlastně systém dělá.

Dále jsem se přidal ke své zvědavosti a rozhodl jsem se udělat rychlý test: začal jsem hudbu na instalaci CM9 a pak jsem se z ní vyhnul. Poté jsem zkontroloval seznam posledních aplikací a zjistil, že je to skutečně( a ve správném stavu na základě miniatury).Poté jsem se dostal do Nastavení-> Aplikace a síla zastavila aplikaci Hudba, ale stále byla uvedena na seznamu, což vedlo k domněnce, že není spojeno s procesy, které se v pozadí vyskytují.

instagram viewer

Když si uvědomíme, že Hudba možná byla špatná volba, také jsem testoval pomocí aplikace USA Today. Toto mělo v podstatě stejné chování a zdálo se, že je po "silovém zastavení"( což dává smysl) nucen "znovu spustit", ačkoli miniaturu v posledním seznamu aplikací neodpovídala tomuto( uložená do mezipaměti, hádám?).

Takže, co se skutečně stane na úrovni operačního systému, když přetáhnete aplikaci z posledního seznamu? Je to prostě vymazat data aplikace z RAM a odpadky ji shromažďovat, zničit jeho uložený stav?

Co přesně probíhá, když přetáhnete prvek ze seznamu?

Odpovědi

přispěvatel Android nadšenců Austin Mills nabízí nějaký pohled:

Přetahování aplikací z nedávného seznamu aplikací je vanilka a ano, není dobře zdokumentováno. Toto téma bylo slušným množstvím diskuzí na různých fórech pro platformu Android. .. zdá se, že shoda v některých komentářích je nejlépe popsána v tom, že chování je podobné, ale není to totéž jako uzavření aplikace - obecně( u aplikací, kterénedefinujte explicitní ovládání zpětných tlačítek), je to totéž, jako to, že jste dostali dostatek času zpět z aplikace, která z ní vyjedete.

Odkaz obsahuje další podrobnosti o specifikacích, ale obecně o něm můžete uvažovat o ukončení aplikace.

Specifické pro aplikaci Hudba, věřím, že spustí službu, takže i když úloha samotná( aplikace Hudba / UI) může být uzavřena, služba bude nadále běžet na pozadí, takže hudba se náhle nezastaví jen proto, žeÚloha byla odstraněna z důvodu správy paměti. To mohlo mít vliv na to, co jste viděli.

Potom se Eldarerathis podílel na otázce a odpovědi životního cyklu a vrátil se s nějakým výzkumem, který odpověděl:

Zdá se, že jsem našel magické hledané výrazy, které vedly k nějakým vysvětlením od zaměstnanců společnosti Google. Konkrétně jsem našel pár různých míst, kde Dianne Hackbornová vysvětluje, co se stane, když přejedete něco z nedávného seznamu. Prvním z nich je komentář k jedné z jejích příspěvků v Google+:

[W] se stane, když se přesunete pryč od nedávné úlohy, je:( 1) zabije jakékoli pozadí nebo prázdné procesy aplikace( viz zde to znamená)a( 2) používá nové rozhraní API, aby oznámil jakýmkoli službám aplikace o odstraněném úkolu, takže může dělat, co považuje za vhodné.

Ona také poznámky v komentáři blogu:

Vlastní odstranění položky v nedávných úkolech zabije všechny procesy pozadí, které existují pro proces. Nebude to přímo způsobovat zastavení služeb, avšak pro ně je API, aby zjistili, že úkol byl odstraněn, aby rozhodli, zda chtějí, aby to znamenalo, že by měli přestat. Je to tak, že odstranění řekne, že nedávný úkol e-mailové aplikace způsobí, že přestane kontrolovat e-mail.

Pokud chcete aplikaci úplně zastavit, můžete dlouho stisknout poslední úkoly, abyste se dostali k informacím o aplikaci a stisknout tam silnou sílu. Zastavit sílu je úplné zabití aplikace - všechny procesy jsou zabity, všechny služby jsou zastaveny, všechny oznámení odstraněny, všechny poplachy odstraněny atd. Aplikace není povoleno znovu spustit, dokud není výslovně požadována.

Vypadá to tak, že shrnutí je, že přetahování aplikace ze seznamu nejdříve zabije všechny procesy na pozadí pro aplikaci a potom pomocí příkazu onTaskRemoved upozornit aplikaci na odstranění pozadí.V tomto okamžiku vypadá, že je na APP, aby se rozhodlo, co se stane, takže myslím, že technicky není tvrdé a rychlé pravidlo o tom, co se stane s aplikací za tímto bodem.

Musíte něco přidat k vysvětlení?Vypadněte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.