9Aug

Kas tieši notiek, pārlūkojot Android lietotni no jaunāko lietotņu saraksta?

Vai, pavelkot lietotni no jūsu pašreiz notiekošo lietotņu saraksta Android, kas precīzi notiek ar lietojumprogrammu un datiem? Lasiet tālāk, kā mēs izmeklējam.

Šodienas jautājums &Atbildes sesija mums ir priecīga par Android Entuziātu - Stack Exchange dalību, kas ir kopiena Q & A tīmekļa vietņu grupa.

Jautājums

Android entuziastu lasītājs Eldarerathis ir interesanti par lietotņu pārlūkošanas funkcionalitāti, kas ļauj pārlūkot jūsu veikto lietotņu sarakstu, izmantojot mājas pogu, un pēc tam velciet tos pa labi, iespējams, tos aizverot:

Nesen izveidoto lietotņu sarakstsIce Cream Sandwich pievienoja iespēju velciet lietotnes no saraksta, tādējādi atlaidot tās pastāvīgi( un, cik man zināms, tā ir vaniļas funkcija, nevis CM / pielāgota ROM).Dokumentācija un platformas izcelšanās neatspoguļo šīs funkcionalitātes trūkumus, taču es domāju zināt, ko sistēma patiešām dara.

Vēl vairāk papildinot manu interesi, es nolēmu veikt ātru pārbaudi: es sāku mūziku ar CM9 instalēšanu, pēc tam no tā atbrīvoja. Tad es pārbaudīju neseno lietotņu sarakstu un redzēju, ka tas patiešām ir( un atbilstošā stāvoklī, pamatojoties uz sīktēlu).Tad es devos uz Iestatījumi-> Lietojumprogrammas un spēku pārtrauca lietotni Mūzika, taču tas joprojām tika uzskaitīts nesenajā sarakstā, liekot domāt, ka tas nav saistīts ar procesiem, kas atrodas fonā.

Tagad, apzinoties, ka mūzika, iespējams, bija slikta izvēle, es arī testēju ar lietotni USA Today. Tas izrādījās pamatā tādā pašā uzvedībā, un šķita, ka pēc spēka pārtraukšanas tas ir bijis spiests atsākt spēli( kas ir jēga), lai gan neseno lietotņu saraksta sīktēls to neatspoguļoja( kešatmiņā es domāju?).

Tātad, kas faktiski notiek OS līmenī, ja velciet lietotni no neseno saraksta? Vai tas vienkārši attīra app datus no RAM un atkritumi savāc to, iznīcinot tā saglabāto stāvokli?

Kas tieši notiek, kad velciet lietotni no saraksta?

Atbildes

Android entuziastu autors Austin Mills piedāvā ieskatu:

Swiping progr no nesenajām lietotņu saraksta ir vaniļa, un jā, nav labi dokumentēta. Tas ir bijis cienīgs diskusiju temats par dažādiem Android forumiem. .. visticamāk, vislabāk ir aprakstīts, ka konsenss dažos komentāros ir aprakstīts, ka uzvedība ir līdzīga, bet ne pilnīgi tāda pati kā lietotnes slēgšana( parasti lietotnēm, kasnenosakiet skaidru atpakaļ pogu apstrādi), tas ir tas pats, kas pietrūkst pietiekami daudz laika no programmas, kuru jūs izietat no tā.

Saite satur detalizētāku informāciju par specifiku, bet kopumā jūs to varat domāt kā pieteikuma atstāšanu.

Speciāli mūzikas lietotnei, es uzskatu, ka tā sāk pakalpojumu, tāpēc, ka pats uzdevums( mūzikas lietotne / lietotāja saskarne) var tikt slēgts, pakalpojums turpina darboties fonā, lai jūsu mūzika netiktu pietuvināta tikai tāpēc, kauzdevums tika iztīrīts atmiņas pārvaldības apsvērumu dēļ.Tas var ietekmēt to, ko jūs redzējāt.

Tad, piedaloties dzīves jautājumu un atbilžu lokā, Eldarerathis atgriezās ar dažiem saviem pētījumiem, lai noformulētu atbildi:

man šķiet, ka ir atraduši maģiskos meklēšanas vienumus, kas noveda pie dažiem Google darbinieku paskaidrojumiem. Konkrēti, es atradu pāris dažādas vietas, kur Dianne Hackborn paskaidro, kas notiek, kad pavelk kaut ko no neseno saraksta. Pirmais ir komentārs par vienu no savām Google+ ziņām:

[W] cepure īpaši notiek, kad velciet prom no nesena uzdevuma:( 1) nogalina jebkuru fonu vai tukšus lietojuma procesus( skat. Šeit, ko tas nozīmē);un( 2), izmantojot jauno API, paziņo par visiem lietojumprogrammas pakalpojumiem par noņemamo uzdevumu, lai tas varētu darīt visu, kas domāts, ir piemērots.

Viņa arī atzīmē emuāra komentārā:

Patiesībā, ieraksta noņemšana nesenos uzdevumos iznīcinās visus procesā esošos fona procesus. Tas tieši nenozīmē, ka pakalpojumi tiek apturēti, taču tiem ir API, lai noskaidrotu, kurš uzdevums tika noņemts, lai izlemtu, vai viņi to vēlas, tas nozīmē, ka viņiem vajadzētu apstāties. Tas ir tā, ka, noņemot sakot neseno uzdevumu e-pasta app neizraisa tā pārtraukt pārbaudīt e-pastu.

Ja jūs patiešām vēlaties pilnībā pārtraukt lietotni, varat ilgstoši nospiest uz jaunākajiem uzdevumiem, lai dotos uz lietotnes informāciju, un piespiediet spēku, lai apturētu to. Force stop ir pilnīgs lietotnes noklusējums - visi procesi tiek nogalināti, visi pakalpojumi ir pārtraukti, visi paziņojumi ir noņemti, visi brīdinājumi ir izņemti utt. Lietojumam nav atļauts atkārtoti palaist, kamēr nav skaidri pieprasīts.

Tātad, kopsavilkums ir tāds, ka lietojumprogrammas notīrīšana no saraksta vispirms noņems visus lietotnes fona procesus, pēc tam izmantojiet "OnTaskRemoved", lai paziņotu lietotnei, ka fona uzdevums ir noņemts. Tajā brīdī izskatās, ka lietotnei ir jāizlemj, kas notiek, tāpēc es domāju, ka tehniski nav stingrs noteikums par to, kas notiek ar lietotni ārpus šī punkta.

Vai kaut kas jāpievieno paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem?Šeit skatiet pilnu diskusiju pavedienu.