9Aug

Mitä oikein tapahtuu, kun pyyhkäisät Android-sovelluksen viimeisimmistä sovellusluettelosta?

Kun yrität pyyhkäistä sovelluksen Android-sovelluksen nykyisen sovelluksen luettelosta, mitä tapahtuu sovellukselle ja tiedoille? Lue, kun tutkitaan.

Tämän päivän kysymys &Vastausistunto tulee meille kohtelias Android-harrastaja-osasto, joka on Stack Exchange, joka on yhteisöllinen Q & A-sivustojen ryhmittely.

Kysymys

Android Enthusiast-lukija Eldarerathis on utelias app-swipe -toiminnosta, jonka avulla voit vetää listan käynnissä olevista sovelluksista kotipainikkeella ja pyyhkäistä ne sitten oikealle, oletettavasti sulkemalla ne:

Viimeisin sovellusluetteloIce Cream Sandwich lisäsi kykyä pyyhkiä sovellukset pois luettelosta, jolloin ne irrottaisiin pysyvästi( ja sikäli kuin tiedän, että tämä on vaniljakäyttötoimintoa, ei CM / mukautettua ROM-levyä).Dokumentaation ja alustan kohokohdat eivät näytä kattavan tämän toiminnon alhaalta pudotusta, mutta olen utelias tietää, mitä järjestelmä todella tekee.

Lisäsin uteliaisuuteni, päätin tehdä nopean testin: Aloitin musiikin CM9-asentimella, ja sitten taaksepäin. Sitten tarkistin viimeisimmän sovellusluettelon ja huomasin, että se oli todellakin siellä( ja oikeassa tilassa pikkukuvan perusteella).Sitten menin Asetukset & gt; Sovellukset ja voima lopetti Musiikkisovelluksen, mutta se oli edelleen luettelossa viimeisimmässä luettelossa, mikä johti siihen, että se ei liity taustalla vieviin prosesseihin.

Tunnen, että musiikki on saattanut olla huono valinta, testasin myös USA Today app. Tämä näytti periaatteessa saman käyttäytymisen, ja näytti siltä, ​​että se oli pakotettu "uudelleen käynnistämään" voima-aseman lopettamisen jälkeen( mikä on järkevää), vaikka äskettäisen sovellusluettelon pikkukuva ei vastannut tätä( välimuistissa, minä arvailen?).

Joten, mitä todella tapahtuu OS-tasolla, kun pyyhkiytät sovelluksen pois äskettäisestä luettelosta? Poistaako yksinkertaisesti sovelluksen tiedot RAM-muistista ja roskat keräävät sen tuhoamalla sen tallennetun tilan?

Mitä juuri tapahtuu, kun pyyhkäise sovellus pois luettelosta?

Vastaukset

Android harrastaja Austin Mills tarjoaa jonkinlaista näkemystä:

Sovellusten pyyhkiminen viimeisimmistä sovellusluettelosta on vanilja, ja kyllä, ei hyvin dokumentoitu. Tämä on ollut aiheena ihmisarvoisen paljon keskustelua eri Android-foorumeista. .. konsensus näyttää parhaiten kuvattu tässä muutamassa kommentissa: että käyttäytyminen on samanlainen kuin täsmälleen sama kuin sovelluksen sulkeminen( sovellukset, jotkaälä määritä eksplisiittistä takaisinpainikkeen käsittelyä) on sama asia kuin lyödä takaisin tarpeeksi aikaa sovelluksen sisällä, josta poistut siitä.

Linkillä on tarkempia yksityiskohtia, mutta kaiken kaikkiaan voit ajatella sitä lopettamasta sovellusta.

Musiikkisovellukselle ominaiset ominaisuudet mielestäni se käynnistää palvelun, joten vaikka tehtävä itse( musiikkisovellus / käyttöliittymä) voi olla suljettu, palvelu toimii edelleen taustalla niin, että musiikki ei yhtäkkiä pysähdy vain siksi, ettätehtävä poistui muistinhallinnan syistä.Tämä voi vaikuttaa siihen, mitä näit.

Sen jälkeen osallistui elämän kysymys- ja vastauspiiriin, Eldarerathis palasi tutkimustyössään vastaamaan vastausta:

Näyttäisin löytäneen maagiset hakutermit, jotka johtivat siihen, että Googlen työntekijöistä selitettiin joitain selityksiä.Erityisesti löysin pari eri paikkaa, joissa Dianne Hackborn selittää, mitä tapahtuu, kun pyyhkäisee jotain äskettäisestä listasta. Ensimmäinen on kommentti jollekin hänen Google+ -postistaan:

[W] hattu tapahtuu erityisesti, kun pyyhkäise pois äskettäin tehtävä tehtävä on se:( 1) tappaa sovelluksen tausta- tai tyhjät prosessit( katso tästä, mitä tämä tarkoittaa)ja( 2) käyttää uutta sovellusliittymää ilmoittamaan sovelluksen kaikki palvelut siitä, että tehtävä poistetaan, jotta se voi tehdä mitä tahansa mielestään sopivaksi.

Hän myös huomauttaa blogikyselystä:

Oikeastaan ​​viimeisten tehtävien merkinnän poistaminen tappaa prosessin olemassa olevat taustaprosessit. Se ei suoraan aiheuta palveluiden pysähtymistä, mutta on olemassa sovellusliittymä, jonka avulla ne voivat selvittää, että tehtävä poistettiin, jotta he voisivat päätellä, haluavatko he lopettaa. Tämä tarkoittaa sitä, että poistat sanovat, että sähköpostisovelluksen äskettäinen tehtävä ei aiheuta sen lopettamasta sähköpostien tarkistamista.

Jos haluat todella lopettaa sovelluksen kokonaan, voit painaa viimeaikaisia ​​tehtäviä pitkään painamalla app info -tiedostoa ja pysähtymään siellä.Force-pysäytys on sovelluksen täydellinen tappi - kaikki prosessit kuolevat, kaikki palvelut pysähtyvät, kaikki ilmoitukset poistetaan, kaikki hälytykset poistetaan jne. App ei saa käynnistää uudelleen, ennen kuin sitä pyydetään nimenomaisesti.

Niin, näyttää siltä, ​​että yhteenveto on, että pyyhkimällä sovellus pois luettelosta ensin tapetaan kaikki taustaprosessit app, sitten käyttää onTaskRemoved ilmoittamaan sovelluksen, että tausta tehtävä poistettiin. Siinä vaiheessa näyttää siltä, ​​että sovellus päättää, mitä tapahtuu, joten arvelen, että teknisesti ei ole : stä vaikea ja nopea sääntö siitä, mitä sovellukselle tapahtuu sen jälkeen.

Onko sinulla jotain lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä?Katso koko keskusteluketju täältä.