sv.phhsnews.com


sv.phhsnews.com / Hur Android hanterar processer

Hur Android hanterar processer


Windows tillåter att stationära appar fortsätter att springa om de är synliga eller inte, medan Apples iOS endast tillåter att apps utför några begränsade uppgifter i bakgrunden. Android sitter någonstans mellan - apps som körs i förgrunden prioriteras, men appar har mycket mer frihet att köra i bakgrunden än de gör på iOS.

Vi ska titta på exakt hur Android hanterar appar och processer körs på din telefon eller surfplatta, demystifierar vad som händer i bakgrunden.

Hierarkin för process livscykel

En process på Android kan vara i en av fem olika stater vid varje tillfälle, från viktigaste till minst viktiga:

  • 1. Förgrundsprocess : Appen du använder betraktas som förgrundsprocessen. Andra processer kan också betraktas som förgrundsprocesser, till exempel om de interagerar med processen som för närvarande finns i förgrunden. Det finns bara några förgrundsprocesser vid vilken tidpunkt som helst.
  • 2. Synlig process : En synlig process ligger inte i förgrunden, men påverkar fortfarande vad du ser på din skärm. Förgrundsprocessen kan till exempel vara en dialogruta som låter dig se en app bakom den. Appen som är synlig i bakgrunden är en synlig process.
  • 3. Serviceprocess : En serviceprocess är inte knuten till någon app som är synlig på din skärm. Det gör dock något i bakgrunden, till exempel att spela musik eller ladda ner data i bakgrunden. Om du till exempel börjar spela musik och växla till en annan app, är musikspelet i bakgrunden som hanteras av en serviceprocess.
  • 4. Bakgrundsprocess : Bakgrundsprocesser är inte synliga för användaren. De har ingen inverkan på erfarenheten av att använda telefonen. Vid varje tillfälle körs många bakgrundsprocesser för närvarande. Du kan tänka på dessa bakgrundsprocesser som pausade appar. De hålls i minnet så att du snabbt kan fortsätta använda dem när du går tillbaka till dem, men de använder inte värdefull CPU-tid eller andra icke-minnesresurser.
  • 5. Tom process : En tom process innehåller inte längre någon appdata. Det kan förvaras för cache-ändamål för att påskynda applanseringen senare, eller systemet kan döda det efter behov.

Låt oss säga att du slår på telefonen och öppnar en musikapp. Medan du använder det, kommer musikappen att vara en förgrundsprocess. När du börjar spela musik och lämna musikappen fortsätter musiken att spela som en serviceprocess.

Låt oss titta på Angry Birds som ett annat exempel. Angry Birds skulle vara en förgrundsprocess medan du spelade den. När du lämnar Angry Birds och anger Gmail-appen för att se ditt e-postmeddelande blir Angry Birds en bakgrundsprocess (eftersom det inte behöver göra något i bakgrunden), medan Gmail blir förgrundsprocessen. När du växlar tillbaka till Angry Birds blir det din förgrundsprocess och spelet kommer att fortsätta snabbt. Angry Birds använde inte resurser i bakgrunden - bortsett från lite RAM - men det återupptas snabbt eftersom det förblev cachet och redo att fortsätta.

Android hanterar automatiskt processer

Android gör ett bra jobb med att automatiskt hantera dessa processer, Det är därför du inte behöver en uppgiftsmördare på Android.

När Android behöver fler systemresurser börjar den först och främst döda de minst viktiga processerna. Android kommer att börja döda tomma och bakgrundsprocesser för att frigöra minne om du kör lågt. Om du behöver mer minne, till exempel, om du spelar ett särskilt krävande spel på en enhet utan mycket RAM, börjar Android döda serviceprocesser, så dina streaming musik och filnedladdningar kan sluta.

I de flesta fall , Android gör det här utan att behöva oroa dig för det. Android använder intelligent enhetens RAM för att cache-appar och andra data, eftersom det inte finns någon anledning att lämna RAM-minnet tomt.

Android erbjuder givetvis program med så mycket flexibilitet att de har utrymme att misshandla. En dålig kodad app kan till exempel starta en serviceprocess som hela tiden körs i bakgrunden, med hela din CPU-tid och dramatiskt minskar batteritiden.

En intressant sak som du kommer att märka i antivirusprogram som Avast! för Android är det att antivirusprogrammet använder en meddelandeikon. Om du försöker inaktivera meddelandesymbolen Avast! kommer att rekommendera mot det. Genom att ha en synlig meddelandeikon, Avast! gör sig till en app med högre prioritet, vilket hindrar Android från att betrakta det som en bakgrundsapp och döda den.

Android Apps kan börja svara på händelser

Android-appar kan också starta som svar på händelser. Till exempel kan en utvecklare programmera sin app för att automatiskt köra vid start och köra en tjänst i bakgrunden. Apps kan starta som svar på en rad andra händelser, till exempel när du tar en bild, när din dataanslutning ändras osv. Detta gör det möjligt för appar att utföra åtgärder som svar på händelser utan att spåra hela tiden i bakgrunden.

Hantera processer

Du behöver inte hantera processer manuellt, men det finns några sätt att göra det om du vill. Du kan använda multitasking-menyn på Android 4.0 och senare för att göra grundläggande processhantering. För att komma åt det, tryck på den dedikerade multitasking-knappen på Nexus-enheter. På andra Android-enheter kan du behöva dubbelklicka eller trycka långsamt på Start-knappen.

Appar som visas i menyn är sannolikt i "bakgrundsprocess" -status. Du kan döda dem genom att dra en app till vänster eller höger, som tar bort den från enhetens minne. Det här borde inte vara nödvändigt, men kan hjälpa dig när du snabbt vill döda en app - kanske det är fel.

Du kan också gå in på skärmen Inställningar, trycka på Apps, tryck på en app och använd Force Stop-knappen för att döda en felaktig app.


Android är baserad på Linux, och varje app på Android har tilldelats ett annat användarnamn eller användarkonto för Linux. Detta isolerar apps från varandra. Om du rotar din enhet kan appar fly deras användarsandlådor och köras med root-privilegier.

Bildkrediter: JD Hancock på Flickr


Snabbt åtkomst till utkast i iOS-postapp med en lång press

Snabbt åtkomst till utkast i iOS-postapp med en lång press

Kanske har du utkast till gamla meddelanden som du inte har tid att avsluta, eller kanske du använder utkastsmeddelanden som mallar så du behöver inte skriva saker om och om igen. Men du använder utkast, det här är ett snabbare sätt att komma åt dem i iOS Mail-appen istället för att bläddra i din Utkast-mapp.

(how-to)

Vad är en virtuell maskinhypervisor?

Vad är en virtuell maskinhypervisor?

Hypervisorer är det som gör virtuella maskiner möjliga, och de är inte bara för servrar längre. Du brukar använda en varje dag och vet inte ens den. Om du inte använder en nu, kommer du inom en snar framtid. En hypervisor är programvara som existerar utanför ett gästoperativsystem för att avlyssna kommandon som skickas till datorns maskinvara.

(how-to)