Indholdsfortegnelse:
Hver gang softwaren på vores telefoner modtager en stor opdatering, hører vi, hvordan den vil fungere bedre og bruger mindre af vores batteri. Selvom det ofte er sandt, har ideerne og hvordan de implementeres brug for masser af finjustering for at imødekomme forventningerne. Android 7.0 forbedrer på to eksisterende funktioner for at hjælpe dem med at leve op til deres fulde potentiale: Projekter Doze og Project Svelte.
Målene er enkle - find måder at gøre telefonen mindre strøm sulten, når du ikke bruger den, og bedre styring af baggrundsprocesser. Al software er bygget med vægt på ydeevne og effektivitet og et operativsystem så meget mere. Vi vil se på ændringerne og se, hvordan de kan have indflydelse.
Projekt Svelte
Project Svelte ankom i 2013 med frigivelsen af Android 4.4 KitKat som en måde for operativsystemet at yde bedre på underliggende telefoner. På den front lykkedes det, men vi forventede større ændringer end vi fik. For at få en god idé om, hvad Sveltes oprindelige intentioner var, skal du ikke lede længere end Android One. Målet var at skabe billig hardware, der kører den nyeste version af Android godt nok til at anbefale.
Med Android 7.0 fortsætter projektet med at skære ned på effektpåvirkningen ved at have et endnu bedre system til styring af baggrundsprocesser.
Ændringer til Svelte adresserer to specifikke og vigtige problemer, der tvinger apps til at køre i baggrunden
Android er meget forskellig fra iOS. Enhver udvikler kan betale et meget lille gebyr og offentliggøre en app i Google Play sammen med navne som Facebook eller Samsung. Forudsat at appen ikke har nogen ondsindet kode, vil den blive aktiveret for alle at installere, og medmindre den bliver rapporteret for upassende indhold eller handlinger, bliver den til at forblive (skønt Google siger, at den gør en automatisk kontrol af hver app, før den skubber den live). Det er langt fra hver app, der indsendes gennem en manuel godkendelsesproces, og det betyder, at apps ikke bliver afvist, fordi de ikke følger den bedste udviklingspraksis. Opførsel af nogle af de nuværende API'er hjælper ikke, og selv de bedste apps kan vågne op og bruge ressourcer for ofte på grund af en forkert proces.
Forbedringer af Svelte i Android Nougat løser to blændende problemer:
- Apps tjekker for at se, om netværket ændres ved hjælp af det, der kaldes en tv-modtager. Når der sker en ændring, vågner hver app, der lytter til ændringen via standardmetoden på én gang, og prøver at behandle dataene om ændringen. Tænk på, hvordan din telefon fungerer, når den først startes, og alt forsøger at ske på én gang, og du har en idé om, hvorfor dette har brug for en slags forbedring. Når de er målrettet mod Android 7.0, kan apps kun lytte til netværksændringer gennem hovedtråden (hvad der kører, når appen er vågen, og du bruger den), så de ikke vågner op, hver gang du skifter netværk. Dette bruger mindre RAM og CPU-tid, hvilket betyder, at vores telefoner klarer sig bedre og bruger mindre strøm.
- I tidligere versioner af Android kunne apps lytte til en lignende udsendelsesmodtager for et billede eller en video, der skulle tages. Når det skete, vågnede hver applikation, der lytter, og forsøgte at behandle dataene på en gang. Som ovenfor er det ikke særlig godt på performancefronten. I Android 7.0 kan det nye billede og de nye videoudsendelser ikke sendes. Det betyder, at selvom udviklere ikke opdaterer eksisterende apps, bliver de aldrig bedt om at vågne op, når der tages et billede eller en video.
For at apps kan gøre mange af de ting, vi vil have dem til at gøre, er de nødt til at holde sig i live. At slanke de ting, de gør, mens de roligt venter på at blive aktive igen ved at fjerne unødvendige funktioner, hvilket betyder, at færre apps kører i stedet for at sove, når de sendes til baggrunden.
Projekt Doze
Den måde, tingene fungerer nu, elsker du enten Doze, eller du kan ikke se Doze gøre noget, der er mærkbart på din telefon. Det er på grund af den måde, det fungerer på.
Da Doze debuterede i Android 6.0, var dets hensigt at udsætte CPU- og netværksaktivitet, mens din telefons skærm var slået fra, frakoblet og bevægelsesfri. Hvis alle tre kriterier ikke var opfyldt, ville Doze ikke sparke ind, og apps ville fortsætte med at køre som normalt. Dette fungerede godt på kontoret og på skrivebordet, men så snart det gik i lommen, stoppede Doze med at gøre noget, og fordelene ophørte.
En to-trinss døsning lader din telefon bruge mindre batteri, mens du også er i bevægelse
Adfærdsændringen i Android Nougat er enkel. Døsning har nu to faser: det ene er, når skærmen er slukket, og telefonen er tilsluttet, og den anden er, når telefonen også er bevægelig.
Når din telefon kun kører på batteriet, og skærmen har været slukket i et bestemt tidsrum, stopper applikationer direkte adgang til netværket, og aktiviteter som synkronisering og andre job udskydes, indtil en foruddefineret tidsperiode går. Derefter giver et kort vedligeholdelsesvindue dem mulighed for at udføre normale baggrundsfunktioner. Denne del fungerer, mens din telefon er i lommen eller underlagt andre former for bevægelse.
Når telefonen også har været i et bestemt tidsrum, er alle døsebegrænsninger - yderligere ting som apps, der vågner i baggrunden eller lytter til, hvad der kaldes en alarm (ikke den slags, der vager dig om morgenen, de er ikke påvirket) eller på udkig efter den aktuelle placering - anvendes oven på netværket og udsættelser af job. Vedligeholdelsesvinduet vises stadig regelmæssigt, men mellem disse vinduer lever din telefon næppe og gør ikke meget, før du henter den.
Vi ved, hvor godt Doze fungerer (når den ikke er blevet ændret af de mennesker, der har bygget din telefon), mens telefonen stadig er. Nu får vi også se en fordel, når vi også er på vej.
Vil ændringerne til Svelte og Doze løse enhver ydelse og batterispørgsmål? Svaret er selvfølgelig nej. Men disse ændringer er logiske trin, der vedrører to meget specifikke ting, der er behov for at blive adresseret. resultatet vil vise sig at være bedre end hvad vi har nu, selvom det ikke kan løse alt.