Mis täpselt juhtub Android-rakenduse allalaadimisel hiljutiste rakenduste loendist?

Sisukord:

Mis täpselt juhtub Android-rakenduse allalaadimisel hiljutiste rakenduste loendist?
Mis täpselt juhtub Android-rakenduse allalaadimisel hiljutiste rakenduste loendist?

Video: Mis täpselt juhtub Android-rakenduse allalaadimisel hiljutiste rakenduste loendist?

Video: Mis täpselt juhtub Android-rakenduse allalaadimisel hiljutiste rakenduste loendist?
Video: How To Use Bixby Routines - YouTube 2024, Aprill
Anonim
Kui pühistate rakenduse oma Android-i praeguste rakenduste loendist välja, mis täpselt juhtub rakenduse ja andmetega? Loe edasi, kui uurime.
Kui pühistate rakenduse oma Android-i praeguste rakenduste loendist välja, mis täpselt juhtub rakenduse ja andmetega? Loe edasi, kui uurime.

Tänane küsimuste ja vastuste seanss tuleb meile viisakalt Android Enthusiasti - Stack Exchange'i, kogukonnapõhise Q & A veebisaitide rühmituse jagunemisest.

Küsimus

Android Entuusiaja lugeja Eldarerathis on huvitav app-swipe'i funktsionaalsus, mis võimaldab teil käivitada oma rakenduste loendi kodunupu kaudu ja seejärel pühkida neid paremale, eeldatavasti sulgemiseks:

The recent apps list in Ice Cream Sandwich added the ability to swipe apps out of the list, thereby dismissing them permanently (and as far as I know this is a vanilla function, not a CM/custom ROM one). The documentation and platform highlights don’t appear to cover the under-the-hood workings of this functionality, but I’m curious to know what the system is actually doing.

Further adding to my curiosity, I decided to do a quick test: I started up Music on a CM9 install, then backed out of it. I then checked the recent apps list and saw it was indeed there (and in the proper state, based on the thumbnail). I then went into

Settings->Applications

ja jõud peatas muusikarakenduse, kuid see oli ikka veel hiljutises loendis loetletud, mis viis mulle arvata, et see pole seotud taustale jäävate protsessidega.

Nüüd, kui mõista, et Music oli kehv valik, testitasin ka rakendusega USA Today. See näitas põhimõtteliselt samasugust käitumist, ja tundus, et see oli pärast jõuületamise lõppu (mis on mõttekas) sunnitud uuesti käivituma, kuigi viimaste rakenduste loendi pisipilt ei kajasta seda (puhverdatud, ma arvan?).

Mis juhtub siis, kui rakenduse pühkimine hiljutistest loenditest OS-i tasandil? Kas see lihtsalt puhastab rakenduse andmed RAMist välja ja prügi kogub, hävitades selle salvestatud oleku?

Mis täpselt läheb, kui lülitate rakenduse loendist välja?

Vastused

Android Enthusiasti kaasautor Austin Mills pakub mõningat ülevaadet:

Hiljutiste rakenduste loendis olevad rakendused on vanillid ja jah, pole hästi dokumenteeritud. See on olnud mõne Android-foorumi korraliku arutelu teemaks … konsensust tundub kõige paremini kirjeldatud mõnedes kommentaarides, et käitumine on sarnane, kuid mitte täpselt sama mis rakenduse sulgemine - üldiselt (rakenduste puhul, mis Ärge määrake selgesõnaliselt tagasikäikude käitlemist), on see sama, mis lööb tagasi piisavalt aega rakenduses, mille sellest välja ei õnnestu.

Linkil on mõni üksikasjalikum teave konkreetsete üksikasjade kohta, kuid üldiselt võite seda mõista kui rakenduse mahajätmist.

Muusikarakendusele spetsiifiline, ma usun, et see käivitab teenuse, nii et kui ülesanne ise (muusikarakendus / kasutajaliides) võib olla suletud, jätkub teenus taustal, nii et teie muusika ei katke äkki lihtsalt sellepärast, et ülesanne mälukaardil põhinevatel põhjustel välja jäetud. See võib mõjutada seda, mida nägite.

Seejärel osales Eldarerathis elus küsimuste ja vastuste rühmas mõne enda uurimisega, et vastus ümardada:

I appear to have found the magical search terms that led to some explanations from Google employees. Specifically, I found a couple of different places where Dianne Hackborn explains what happens when you swipe something out of the recent list. The first is a comment on one of her Google+ posts:

[W]hat specifically happens when you swipe away a recent task is it: (1) kills any background or empty processes of the application (see here for what this means), and (2) uses the new API to tell any services of the application about the task being removed so it can do whatever it thinks is appropriate.

She also notes in a blog comment:

Actually, removing an entry in recent tasks will kill any background processes that exist for the process. It won’t directly causes services to stop, however there is an API for them to find out the task was removed to decide if they want this to mean they should stop. This is so that removing say the recent task of an e-mail app won’t cause it to stop checking for e-mail.

If you really want to completely stop an app, you can long press on recent tasks to go to app info, and hit force stop there. Force stop is a complete kill of the app - all processes are killed, all services stopped, all notifications removed, all alarms removed, etc. The app is not allowed to launch again until explicitly requested.

So, it looks like the summary is that swiping an app out of the list will first kill all background processes for the app, then use

onTaskRemoved

et teavitada rakendust, et taustaülesanne on eemaldatud. Sel hetkel tundub, et rakendus otsustab, mis juhtub, nii et ma arvan, et see on tehniliselt ei ole keeruline ja kiire reegel selle kohta, mis juhtub rakendusega sellel teemal.

Kas teil on seletamiseks midagi lisada? Helistage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Tutvu täieliku arutelu teemaga siit.

Soovitan: