Inhoudsopgave:
Hallo jongens! Jerry terug met nog een leuke truc die je op je Android-telefoon kunt doen. Deze helpt dingen soepel te laten verlopen en geeft ons wat gebruikerscontrole over de interne taakmoordenaar van Android. Zoals de meeste dingen die van invloed zijn op de werking op laag niveau van Android, vereist deze root, maar het is een goed boek, zelfs voor jullie die niet de behoefte voelen om te rooten (en je garantie te breken!) Omdat je misschien een beter begrip hebt van wat er achter de schermen gebeurt. Open een paar extra tabbladen in uw browser, maak uw telefoon (en misschien zelfs uw USB-kabel) klaar en volg de pauze.
Oh, en een waarschuwing: dit is behoorlijk laag niveau spul. Het is niet moeilijk om te doen, maar wat het doet is een beetje geavanceerd. Zeg niet dat we je niet hebben gewaarschuwd.
Je hoort keer op keer dat Android op de Linux-kernel draait. Het grootste voordeel hiervan is dat Linux stabiel, open source en extreem hackbaar is. Dit betekent dat veel van die voordelen ook worden overgedragen naar Android. In staat zijn om de moordenaar met weinig geheugen aan te passen is een van die. Dit is iets waar ik persoonlijke ervaring mee heb, zowel op de moeilijke manier als op de gemakkelijke manier. Hoewel dit elke smaak van Android ten goede komt, zullen telefoons met HTC Sense de meeste verbetering vertonen.
Hoe de moordenaar met weinig geheugen werkt
Wanneer uw telefoon opstart, stelt een bestand in de opstartinstallatiekopie (init.rc) de systeemparameters in. Dingen zoals het pad naar framework-bestanden, het opzetten van uw netwerken en het instellen van de limieten waarmee programma's worden gedood om RAM vrij te maken, worden door dit bestand gedaan. Nu kan een super-Android-geek in het init.rc-bestand graven en de lage geheugenmoordenaar volledig aanpassen, maar je hoeft dit niet te doen om nog steeds goede resultaten te krijgen. De init.rc stelt zes verschillende "niveaus" van open toepassingen in. Laten we ze eens bekijken:
- FOREGROUND_APP: Dit is de applicatie die momenteel op het scherm is en actief is
- VISIBLE_APP: Dit is een applicatie die open is en op de achtergrond draait omdat het nog steeds iets doet
- SECONDARY_SERVER: Dit is een proces (een service die een applicatie nodig heeft) die springlevend en klaar is voor het geval er iets nodig is
- HIDDEN_APP: Dit is weer een proces dat inactief is (maar nog steeds leeft) voor het geval het nodig is voor een app die leeft en draait
Voor het grootste deel willen we nooit aanpassen wanneer deze apps en processen worden gedood. Het zijn de dingen die de programma's die we gebruiken nodig hebben om goed te functioneren. Voor de meer gedurfde en geavanceerde gebruikers is het wijzigen van instellingen voor HIDDEN_APP- instellingen mogelijk, zij het met VEEL vallen en opstaan. Er zijn nog twee instellingen, en deze zijn voor ons het meest interessant vandaag:
- CONTENT_PROVIDER: dit zijn apps die gegevens (inhoud) aan het systeem leveren. HTC Facebook Sync? Dat is een CONTENT_PROVIDER. Dat geldt ook voor de Android Market of Fring. Als ze in leven zijn, kunnen ze zich binnen het ingestelde interval vernieuwen en de inhoud leveren die ze horen te hebben. Als je ze doodt, kunnen ze dat natuurlijk niet.
- EMPTY_APP: Ik noem deze "spoken". Het zijn apps die u hebt geopend, maar hiermee klaar zijn. Android gebruikt een unieke stijl van geheugenbeheer. Wanneer een activiteit is beëindigd, houdt Android de applicatie in plaats van deze te doden in het geheugen, zodat ze sneller kunnen worden geopend. Deze "spook" -apps gebruiken geen batterij- of CPU-tijd, ze vullen gewoon RAM-geheugen dat anders leeg zou zijn. Wanneer dit geheugen nodig is voor een andere applicatie of een ander proces, wordt het RAM-geheugen leeggemaakt en beschikbaar gemaakt voor de nieuwe app. Om de geekier mensen (zoals ikzelf) tevreden te stellen, doet Android dit door een lijst met recent gebruikte apps bij te houden, waarbij de oudste apps in de lijst de laagste prioriteit krijgen - ze worden eerst gedood als RAM elders nodig is. Dit is een perfecte manier om 'spook'-processen af te handelen, dus dit onderdeel hoeft niet te worden aangeraakt;)
Het EMTY_APP niveau is waar we Robin Hood kunnen spelen en wat UI-prestaties kunnen krijgen. We beroven van de rijken (RAM gebruikt door apps die we nu gebruiken) en geven aan de armen (onze pool van gratis RAM). Op deze manier beslissen WE wanneer Android oude, ongebruikte apps sluit in plaats van het systeem voor ons te laten beslissen. Dit soort dingen zijn de reden waarom we rooten.
Hoe manipuleren we dit allemaal?
Weet je nog dat ik eerder zei dat je niet in cryptische opstartbestanden hoefde te graven om deze instellingen te wijzigen? Nou, je zult dit geweldig vinden. Je kunt dingen veranderen met een app van Market! Er zijn er een aantal die werken, maar ik geef de voorkeur aan MinFreeManager omdat het licht is en geen persoonlijke informatie deelt zoals sommige anderen dat doen. Laten we eens kijken hoe we deze slechte jongen kunnen opzetten.
Stap één - verwijder elke taakbeheerder die u uitvoert. Ze zullen alleen maar interfereren met wat we vandaag doen. Als je dat niet doet, gaan we allemaal wijzen en lachen terwijl onze telefoons soepel werken:)
Stap twee - download en installeer MinFreeManager
Stap drie - open de app. Druk op de knop Terug om het toetsenbord te verwijderen (we zullen het hebben over het bewerken van de nummers die u een beetje ziet) en klik op menu> voorinstellingen.
Kies "Agressief". Het heeft geen zin om een app als deze te installeren en uit te voeren zonder deze volledig uit te voeren. Als u na een dag of twee denkt dat u problemen ondervindt bij het uitvoeren van deze instellingen, kunt u proberen "mild" te maken of de getallen handmatig aanpassen. Druk vervolgens op "toepassen" om de parameters in te stellen. Als u wilt dat de instellingen worden toegepast bij elke herstart, zorgt menu >> toepassen tijdens het opstarten voor u. Voor bijna iedereen is dat alles. Geniet altijd van ongeveer 75-100 MB gratis RAM.
Als je zelf de getallen wilt aanpassen, is elk item het niveau van gratis RAM dat apps en processen in elke specifieke categorie zullen doden. Hieronder staan de standaardinstellingen voor Android.
Merk op dat niets uit RAM wordt gewist totdat de hoeveelheid vrij RAM 32 MB bereikt. (Als je naar me hebt geluisterd terwijl ik op mijn soapbox stond, weet je dat naar mijn mening SenseUI gewoon niet goed werkt met minder dan ~ 40 MB gratis RAM-geheugen) Bij 32 MB of minder gratis, zal het systeem begin de 'geesten' te doden. We kunnen ons een weg omhoog in de lijst werken en zien dat als we ooit 14 MB of minder gratis krijgen, het systeem de app die op de voorgrond draait kan (en zal) doden.
Als u besluit om met deze nummers te spelen, wees dan voorzichtig met de bovenste vier nummers. Monkeying met deze kan dingen erg onstabiel en erg lelijk maken. De Content Provider (lees het hierboven opnieuw) is minder gevoelig, maar als het te hoog wordt ingesteld, worden dingen als Facebook-synchronisatie nog slordiger dan het al is. Het gedeelte Lege app is gratis voor iedereen. Als u dit instelt op iets minder dan 96 MB (IMO), verslaat het doel van het gebruik van een app als deze. Tweak dingen, geef het een paar uur om te wennen en te beslissen of het meer moet worden aangepast.
LowMemKiller Geek-editie
Omdat Android op een Linux-kernel draait, betekent dit dat parameters worden opgeslagen als platte tekstbestanden. deze kunnen direct worden bewerkt - dat is precies wat apps zoals MinFreeManager aan het doen zijn. Als u liever geen app van derden gebruikt om deze wijzigingen aan te brengen, kunt u de waarden eenvoudig wijzigen vanaf de opdrachtregel. Start je favoriete terminalclient en volg hem.
Om de huidige parameters voor de MinFree-instelling te controleren:
su
cat / sys / module / lowmemorykiller / parameters / minfree
Dit retourneert een reeks getallen, zoiets als dit:
1536, 2048, 4096, 5120, 5632, 6144
Deze nummers zijn pagina's. Voor Android is een pagina gelijk aan 4 kb. In het bovenstaande voorbeeld zijn de EMPTY_APP- instellingen (laatste in de lijst - 6144) 24 MB. 6144 pagina's = 24576 kb = 24 MB. De formule zou zijn:
Daarom zou een instelling van 25000 gelijk zijn aan ~ 97MB (zei dat het de Geek-editie was!).
Probeer dit voor een goed startpunt en een voorbeeld van hoe u de nummers kunt wijzigen:
su
echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parameters / minfree
Dit zorgt ervoor dat wanneer het vrije RAM-geheugen lager wordt dan 90 MB, 'geesten' worden gedood in volgorde, en als RAM ooit lager wordt dan 60 MB, CONTENT_PROVIDERS worden gedood. Al het andere wordt niet aangetast door de kernel.
Denk daar eens even over na - geen zorgen meer om dingen als klok en gmail in leven te houden en op de witte lijst van takenmoordenaars, omdat we specificeren welke soorten apps en processen kunnen worden gedood om geheugen vrij te maken.
Als u eenmaal een aantal getallen heeft die goed voor u werken, is het gemakkelijk om het proces van toepassing te stroomlijnen wanneer u opnieuw opstart. Ja, deze wijzigingen verdwijnen bij elke herstart omdat ze worden opgeslagen op een virtuele schijf (de Ramdisk) die wordt gewist wanneer de telefoon wordt uitgeschakeld. U hebt een teksteditor nodig die bestanden kan opslaan in een formaat dat kan worden gelezen door Unix. Niets gemaakt door Microsoft gaat werken. Ik raad Notepad ++ altijd aan voor Windows-gebruikers die Unix-bestanden moeten bewerken. Grijp het en installeer het.
Open een leeg bestand en plak het volgende erin:
echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parameters / minfree
verander natuurlijk de standaardinstellingen in uw gewenste instellingen. Sla het bestand op als freeram zonder extensie.
Sluit uw telefoon aan op uw computer en duw het freeram-bestand naar / system / bin. Vervolgens op de opdrachtregelprompt:
su
cd / systeem / bin
chmod 744 freeram
Uitgang
Uitgang
Start nu uw telefoon opnieuw op, en zodra deze is geladen, opent u uw terminal en typt u:
su
FreeRAM
Uitgang
Om UW parameters in te stellen in plaats van de standaard Android-parameters. Je moet dit doen bij elke herstart, of het bewerken in het init.rc-bestand, dat waayyy te geeky is om hier te behandelen. Daar hebben we een forum voor.:)
Of je nu van de makkelijke manier houdt, of liever de meer hardcore manier, probeer het eens. Het is gemakkelijk terug te zetten en het is 100 procent gratis.
Tot de volgende keer,
Jerry