Logo sv.androidermagazine.com
Logo sv.androidermagazine.com

Fininställning av minfree-inställningarna (förbättring av android multitasking)

Innehållsförteckning:

Anonim

Hej killar! Jerry tillbaka med ett annat snyggt trick du kan göra på din Android-telefon. Den här hjälper till att få saker att fungera smidigt och ger oss en viss användarkontroll över Android: s interna arbetsdödare. Liksom de flesta saker som påverkar Android-nivåens låga nivå, det här kräver root, men det är en bra läsning även för er som inte känner behov av att rota (och bryta garantin!) Eftersom du bara kan ha en bättre förståelse av vad som händer bakom kulisserna. Öppna ett par extra flikar i din webbläsare, gör din telefon (och kanske till och med din USB-kabel) redo och följ pausen.

Åh, och en varning: Det här är ganska låga nivåer. Det är inte svårt att göra, men vad den gör är lite avancerad. Säg inte att vi inte varnade dig.

Du hör gång på gång att Android körs på Linux-kärnan. Den största fördelen med detta är att Linux är stabilt, open source och extremt hackbart. Detta innebär att många av dessa fördelar också överförs till Android. Att kunna finjustera mördaren med lågt minne är en av dem. Det här är något som jag har personlig erfarenhet av, både det hårda och det enkla sättet. Även om detta gynnar varje smak av Android, kommer telefoner som kör HTC Sense att vara den mest förbättrade.

Så hur mördaren med lågt minne fungerar

När din telefon startar upp, anger en fil inuti startbilden (init.rc) systemparametrarna. Saker som sökvägen till ramfiler, inställning av dina nätverk och inställning av gränserna för vilka program dödas till gratis RAM görs av den här filen. Nu kan en super-Android-geek gräva init inr.rc-filen och helt anpassa mördaren med lågt minne, men du behöver inte göra detta för att fortfarande få bra resultat. Init.rc sätter upp sex olika "nivåer" av öppna applikationer. Låt oss titta på dem:

  • FOREGROUND_APP: Det här programmet är för närvarande på skärmen och körs
  • VISIBLE_APP: Detta är ett program som är öppet och körs i bakgrunden eftersom det fortfarande gör något
  • SECONDARY_SERVER: Detta är en process (en tjänst som en applikation behöver) som är levande och redo om det behövs för att göra något
  • HIDDEN_APP: Det här är en process som sitter i viloläge (men fortfarande är i live) om det behövs av en app som lever och körs

För det mesta vill vi aldrig justera när dessa appar och processer avbryts. Det är de saker som programmen vi använder behöver för att fungera korrekt. För de mer djärva och avancerade användarna är det möjligt att ändra inställningar för HIDDEN_APP- inställningar, om än med många tester och fel. Det finns ytterligare två inställningar, och det här är de som är mest intressanta för oss idag:

  • CONTENT_PROVIDER: Det här är appar som tillhandahåller data (innehåll) till systemet. HTC Facebook Sync? Det är en CONTENT_PROVIDER. Så är saker som Android Market eller Fring. Om de är i live kan de uppdatera och tillhandahålla det innehåll de ska i det inställda intervallet. Om du dödar dem kan de naturligtvis inte.
  • EMPTY_APP: Jag kallar dessa "spöken". Det är appar som du har öppnat, men är klara med dem. Android använder en unik stil för hantering av minne. När en aktivitet avslutas håller Android applikationen i minnet istället för att döda den, så att det är en snabbare process att öppna dem igen. Avhandlingarna "spöke" -appar använder inget batteri eller CPU-tid, de fyller bara RAM som annars skulle vara tomt. När detta minne behövs av en annan applikation eller process, spolas RAM-minnet och görs tillgängligt för den nya appen. För att tillfredsställa de geekierna människorna (som jag själv) gör Android detta genom att hålla en lista över nyligen använda appar, med de äldsta apparna i listan som har lägsta prioritet - de dödas först om RAM behövs någon annanstans. Detta är ett perfekt sätt att hantera "spöke" -processer, så det finns ingen anledning att beröra den här delen;)

EMTY_APP- nivån är där vi kan spela Robin Hood och få lite UI-prestanda. Vi rånar från de rika (RAM som används av appar som vi använder) och ger till de fattiga (vår pool med gratis RAM). På så sätt bestämmer VI när Android stänger gamla, oanvända appar istället för att låta systemet bestämma för oss. Saker som detta är varför vi rotar.

Hur manipulerar vi allt detta?

Kom ihåg att jag tidigare sa att du inte behövde gräva i kryptiska startfiler för att ändra dessa inställningar? Du kommer att älska det här. Du kan ändra saker med en app från marknaden! Det finns flera som fungerar, men jag föredrar MinFreeManager eftersom det är lätt och inte delar någon personlig information som några av de andra gör. Låt oss titta på hur man ställer in den här dåliga pojken.

Steg ett - ta bort alla aktivitetshanterare du har kört. De kommer bara att störa det vi gör idag. Om du inte gör det, kommer vi alla att peka och skratta medan våra telefoner går smidigt:)

Steg två - ladda ner och installera MinFreeManager

Steg tre - öppna appen. Tryck på bakåtknappen för att bli av med tangentbordet (vi talar om att redigera numren du ser lite) och tryck på meny> förinställningar.

Välj "Aggressiv". Det finns ingen mening med att installera och köra en app som denna utan att köra den med full potential. Om du efter en dag eller två tror att du ser problem från att köra vid dessa inställningar kan du prova "milt" eller justera siffrorna för hand. Nästa hit "applicera" för att ställa in parametrarna. Om du vill att inställningarna ska tillämpas vid varje omstart, kommer meny >> applicera vid start att ta hand om dig. För de flesta alla är det det. Njut av att ha cirka 75-100 MB gratis RAM hela tiden.

Om du vill justera siffrorna själv är varje post nivån på gratis RAM som appar och processer i varje särskild kategori börjar dödas. Nedan finns standardinställningarna för Android.

Observera att ingenting torkas från RAM tills mängden gratis RAM når 32 MB. (Om du har lyssnat på mig medan jag stod på min tvålbox, vet du att enligt min mening SenseUI bara inte fungerar bra med mindre än ~ 40 MB gratis RAM) Med 32 MB eller mindre gratis kommer systemet att börja döda "spöken". Vi kan arbeta oss uppför listan och se att om vi någonsin kommer ner till 14 MB eller mindre gratis, kan systemet (och kommer) döda appen du har i förgrunden.

Om du bestämmer dig för att spela med dessa nummer, var mycket försiktig med de fyra bästa siffrorna. Monkeying med dessa kan göra saker mycket instabila och mycket ful. Innehållsleverantören (läs den igen ovan) är mindre rörig, men om du ställer in den för högt kommer det att göra att saker som Facebook synkroniseras ännu svårare än det redan är. Avsnittet Tom app är gratis för alla. Att ha denna inställd på allt mindre än 96 MB (IMO) besegra syftet med att använda en app som denna. Tweak saker, ge det ett par timmar att bosätta sig i och bestämma om det behöver mer tweaking.

LowMemKiller Geek Edition

Eftersom Android körs på en Linux-kärna, betyder det att parametrar lagras som vanliga textfiler. dessa kan redigeras i farten - det är exakt vad appar som MinFreeManager gör. Om du helst inte vill använda en tredjepartsapp för att göra dessa ändringar kan du enkelt ändra värdena från kommandoraden. Avfyra din favoritterminalklient och följ med.

För att kontrollera de aktuella parametrarna för MinFree-inställningen:

su

cat / sys / module / lowmemorykiller / parameters / minfree

Detta kommer att returnera en sträng med siffror, något liknande:

1536, 2048, 4096, 5120, 5632, 6144

Dessa nummer är sidor. För Android är en sida lika med 4 kb. Så i ovanstående exempel är EMPTY_APP- inställningarna (sist i listan - 6144) 24 MB. 6144 sidor = 24576 kb = 24 MB. Formeln skulle vara:

Därför skulle en inställning på 25000 vara lika med ~ 97MB (berättade att det var Geek Edition!).

För en bra utgångspunkt och ett exempel på hur du ändrar siffrorna, prova detta:

su

echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parameters / minfree

Detta ställer in saker så att gratis RAM-minne faller under 90MB, "spöken" avlivas i ordning, och om RAM någonsin sjunker under 60MB, CONTENT_PROVIDERS dödas. Allt annat lämnas obegränsat av kärnan.

Tänk på det för en sekund - inte mer oroa dig för att hålla saker som klocka och gmail vid liv och på listan över uppdragsmordare, eftersom vi anger vilka typer av appar och processer som kan avlivas för att frigöra minne.

När du har en uppsättning nummer som fungerar bra för dig är det enkelt att effektivisera processen att tillämpa den när du startar om. Ja, dessa förändringar försvinner vid varje omstart eftersom de lagras på en virtuell disk (Ramdisken) som raderas när telefonen stängs av. Du behöver en textredigerare som kan spara filer i ett format läsbart av Unix. Ingenting som Microsoft har gjort kommer att fungera. Jag rekommenderar alltid Notepad ++ till Windows-användare med behov av att redigera Unix-filer. Ta tag i den och installera den.

Öppna en tom fil och klistra in följande i den:

echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parameters / minfree

naturligtvis ändra standardinställningarna till önskade inställningar. Spara filen som freeram utan förlängning.

Koppla upp din telefon till din dator och skjut freeram-filen till / system / bin. Sedan vid kommandoradsprompt:

su

cd / system / bin

chmod 744 freeram

utgång

utgång

Starta om telefonen och öppna din terminal när du väl har laddat den och skriv in:

su

FreeRAM

utgång

Ställa in DINA parametrar i stället för standardparametrarna för Android. Du måste göra detta vid varje omstart, eller redigera den till init.rc-filen, som är waayyy för geeky för att täcka här. Vi har ett forum för det.:)

Oavsett om du gillar det enkla sättet, eller föredrar det mer hardcore sättet, prova det. Det är lätt att återvända och det är 100 procent gratis.

Tills nästa gång,

Jerry