9Aug

Wat gebeurt er precies wanneer u een Android-app uit de lijst met recente apps vegen?

click fraud protection

Wat gebeurt er precies met de toepassing en gegevens wanneer u een app uit uw lijst met Android-actieve apps haalt? Lees verder terwijl we onderzoeken.

De vraag van vandaag &Een antwoordsessie komt naar ons met dank aan Android Enthusiast - een onderdeel van Stack Exchange, een gemeenschapsgestuurde groep van Q & A-websites.

De vraag

lezer voor Android-enthousiast Eldarerathis is nieuwsgierig naar de app-swipe-functionaliteit waarmee u uw lijst met actieve apps kunt oproepen via de startknop en deze vervolgens naar rechts kunt vegen, waarschijnlijk om ze te sluiten:

De recente lijst met apps inIce Cream Sandwich heeft de mogelijkheid om apps uit de lijst te vegen verwijderd, waardoor ze permanent worden verwijderd( en voor zover ik weet is dit een vanillefunctie, geen CM / custom ROM-versie).De documentatie en platformhoogtepunten lijken niet de werking van deze functionaliteit onder de motorkap te beschrijven, maar ik ben benieuwd wat het systeem nu eigenlijk doet.

Verder toevoegend aan mijn nieuwsgierigheid, besloot ik om een ​​snelle test te doen: ik startte muziek op een CM9-installatie en maakte er vervolgens een back-up van. Ik controleerde vervolgens de lijst met recente apps en zag dat het inderdaad daar was( en in de juiste staat, op basis van de thumbnail).Vervolgens ging ik naar Instellingen- & gt; Toepassingen en force stopte de Muziek-app, maar deze stond nog steeds in de recente lijst, waardoor ik geloofde dat deze niet was verbonden met processen die op de achtergrond blijven hangen.

instagram viewer

Ik realiseerde me nu dat muziek misschien een slechte keuze was, dus heb ik ook getest met de app USA Today. Dit vertoonde in wezen hetzelfde gedrag en het leek alsof het na de force stop gedwongen was om opnieuw te starten, hoewel de miniatuur in de lijst met recente apps dit niet weerspiegelde( in de cache, ik vermoed?).

Wat gebeurt er eigenlijk op OS-niveau als u een app uit de recente lijst haalt? Maakt het eenvoudig de gegevens van de app leeg en verzamelt het de opgeslagen status?

Wat gebeurt er precies als je de app van de lijst haalt?

De antwoorden

Bijdrager Android Enthusiast Austin Mills biedt enig inzicht:

Swiping-apps uit de recente lijst met apps is vanille en ja, niet goed gedocumenteerd. Dit was het onderwerp van een behoorlijke hoeveelheid discussie op verschillende Android-forums. .. de consensus lijkt hier het beste te worden beschreven in sommige opmerkingen: dat het gedrag vergelijkbaar is met, maar niet precies hetzelfde is als het sluiten van een app - in het algemeen( voor apps diedefinieer geen expliciete terugknop-afhandeling) het is hetzelfde als voldoende terug te slaan vanuit een toepassing die u verlaat.

De link heeft wat meer details over de details, maar over het algemeen kun je het beschouwen als het afsluiten van de applicatie.

Specifiek voor de muziek-app, geloof ik dat het een service start, dus terwijl de taak zelf( de muziek-app / UI) mogelijk gesloten is, blijft de service op de achtergrond draaien zodat je muziek niet plotseling stopt, alleen omdat detaak is gewist om redenen van geheugenbeheer. Dat kan invloed hebben gehad op wat je zag.

Dan, deelnemend aan de vraag-en-antwoord-cirkel van het leven, kwam Eldarerathis terug met wat eigen onderzoek om het antwoord af te ronden:

Ik heb kennelijk de magische zoektermen gevonden die leidden tot enkele verklaringen van Google-medewerkers. Specifiek, ik vond een aantal verschillende plaatsen waar Dianne Hackborn uitlegt wat er gebeurt als je iets uit de recente lijst haalt. De eerste is een reactie op een van haar Google+ berichten:

[W] hoed gebeurt specifiek wanneer je een recente taak wegvaagt is het:( 1) doodt elke achtergrond of lege processen van de applicatie( kijk hier voor wat dit betekent),en( 2) gebruikt de nieuwe API om alle services van de toepassing te vertellen over de taak die wordt verwijderd, zodat deze kan doen wat hij geschikt acht.

Ze noteert ook in een blogcommentaar:

Eigenlijk zal het verwijderen van een invoer in recente taken alle achtergrondprocessen die voor het proces bestaan ​​doden. Het zorgt er niet direct voor dat services stoppen, maar er is een API waarmee ze kunnen achterhalen of de taak is verwijderd om te bepalen of ze willen dat dit betekent dat ze moeten stoppen. Dit is zo dat als je zegt dat de recente taak van een e-mailapp niet ertoe leidt dat de e-mail niet meer wordt gecontroleerd.

Als je een app echt helemaal wilt stoppen, kun je lang op recente taken drukken om naar app-info te gaan en daar de force stop te activeren. Force stop is een complete moord op de app - alle processen worden gedood, alle services worden gestopt, alle meldingen worden verwijderd, alle alarmen worden verwijderd, enzovoort. De app mag pas opnieuw worden gestart als daar expliciet om wordt gevraagd.

Dus het lijkt erop dat de samenvatting is dat het vegen van een app uit de lijst eerst alle achtergrondprocessen voor de app zal doden, en dan opTaskRemoved de app laat weten dat de achtergrondtaak is verwijderd. Op dat moment lijkt het erop dat het aan de app is om te beslissen wat er gebeurt, dus ik denk dat technisch gezien geen is, een vaste regel over wat er na dat punt met de app gebeurt.

Heeft u iets toe te voegen aan de uitleg? Geluid uit in de opmerkingen. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.