Sommario:
- Come funziona il killer a memoria insufficiente
- Come possiamo manipolare tutto questo?
- Edizione LowMemKiller Geek
Hey ragazzi! Torna con un altro trucco che puoi fare sul tuo telefono Android. Questo aiuta a mantenere le cose senza intoppi e ci dà un po 'di controllo dell'utente sul task killer interno di Android. Come la maggior parte delle cose che influiscono sul funzionamento di basso livello di Android, questo richiede il root, ma è una buona lettura anche per voi persone che non sentono il bisogno di eseguire il root (e rompere la garanzia!) Perché potreste semplicemente avere una migliore comprensione di quello che sta succedendo dietro le quinte. Apri un paio di schede extra sul tuo browser, prepara il tuo telefono (e forse anche il tuo cavo USB) e segui l'interruzione.
Oh, e un avvertimento: questa è roba piuttosto di basso livello. Non è difficile da fare, ma quello che fa è un po 'avanzato. Non dire che non ti abbiamo avvertito.
Si sente più volte che Android gira sul kernel Linux. Il più grande vantaggio di ciò è che Linux è stabile, open source ed estremamente hackerabile. Ciò significa che molti di questi vantaggi si ripercuotono anche su Android. Essere in grado di modificare il killer con poca memoria è uno di quelli. Questo è qualcosa con cui ho esperienza personale, sia nel modo più duro che nel modo più semplice. Sebbene ciò avvantaggi tutti i gusti di Android, i telefoni che eseguono HTC Sense mostreranno il massimo miglioramento.
Come funziona il killer a memoria insufficiente
All'avvio del telefono, un file all'interno dell'immagine di avvio (init.rc) imposta i parametri di sistema. Questo file consente di eseguire operazioni come il percorso dei file di framework, l'impostazione delle reti e l'impostazione dei limiti in base ai quali i programmi vengono eliminati nella RAM libera. Ora un super-Android-geek potrebbe scavare all'interno del file init.rc e personalizzare completamente il killer a memoria insufficiente, ma non è necessario farlo per ottenere comunque buoni risultati. Init.rc imposta sei diversi "livelli" di applicazioni aperte. Diamo un'occhiata a loro:
- FOREGROUND_APP: questa è l'applicazione attualmente sullo schermo ed è in esecuzione
- VISIBLE_APP: questa è un'applicazione aperta e in esecuzione in background perché sta ancora facendo qualcosa
- SECONDARY_SERVER: questo è un processo (un servizio di cui un'applicazione ha bisogno) che è vivo e pronto nel caso sia necessario fare qualcosa
- HIDDEN_APP: Anche questo è un processo, che rimane inattivo (ma è ancora attivo) nel caso sia necessario per un'app attiva e in esecuzione
Per la maggior parte, non vogliamo mai adeguarci quando queste app e questi processi vengono eliminati. Sono le cose che i programmi che utilizziamo devono funzionare correttamente. Per gli utenti più audaci e avanzati, è possibile modificare le impostazioni per le impostazioni HIDDEN_APP, sebbene con MOLTE prove ed errori. Ci sono altre due impostazioni, e queste sono le più interessanti per noi oggi:
- CONTENT_PROVIDER: si tratta di app che forniscono dati (contenuti) al sistema. HTC Facebook Sync? Questo è un CONTENT_PROVIDER. Lo stesso vale per Android Market o Fring. Se sono vivi, possono aggiornare e fornire il contenuto a cui sono tenuti all'intervallo impostato. Se li uccidi, ovviamente non possono.
- EMPTY_APP: chiamo questi "fantasmi". Sono app che hai aperto, ma hanno finito con loro. Android utilizza uno stile unico di gestione della memoria. Al termine di un'attività, invece di eliminarla, Android mantiene l'applicazione in memoria in modo che riaprirla sia un processo più rapido. Queste app "fantasma" non consumano tempo della batteria o della CPU, ma riempiono semplicemente la RAM che altrimenti sarebbe vuota. Quando questa memoria è necessaria per un'applicazione o un processo diverso, la RAM viene scaricata e resa disponibile per la nuova app. Per soddisfare le persone più geek (come me) Android fa questo mantenendo un elenco di app utilizzate di recente, con le app più vecchie nell'elenco con la priorità più bassa: vengono uccise per prime se la RAM è necessaria altrove. Questo è un modo perfetto per gestire i processi 'fantasma', quindi non è necessario toccare questa parte;)
Il livello EMTY_APP è dove possiamo giocare a Robin Hood e ottenere alcune prestazioni dell'interfaccia utente. Derubiamo dai ricchi (RAM utilizzata dalle app che abbiamo finito di usare) e diamo ai poveri (il nostro pool di RAM libera). In questo modo decidiamo quando Android chiude le app vecchie e inutilizzate invece di lasciare che il sistema decida per noi. Cose come questa sono il motivo per cui facciamo il root.
Come possiamo manipolare tutto questo?
Ricordi prima di aver detto che non dovevi scavare in file di avvio criptici per modificare queste impostazioni? Bene, ti piacerà. Puoi cambiare le cose con un'app dal Market! Ce ne sono diversi che funzionano, ma preferisco MinFreeManager perché è leggero e non condivide informazioni personali come fanno alcuni degli altri. Diamo un'occhiata a come impostare questo cattivo ragazzo.
Passaggio 1: eliminare qualsiasi task manager in esecuzione. Interferiranno solo con quello che stiamo facendo oggi. In caso contrario, punteremo e rideremo mentre i nostri telefoni funzionano senza problemi:)
Passaggio 2: scaricare e installare MinFreeManager
Passaggio tre: apri l'app. Premi il pulsante Indietro per sbarazzarti della tastiera (parleremo della modifica dei numeri che vedi tra poco) e premi menu> preset.
Scegli "Aggressivo". Non ha senso installare ed eseguire un'app come questa senza eseguirla al massimo delle sue potenzialità. Se dopo un giorno o due pensi di riscontrare problemi con queste impostazioni, puoi provare "lieve" o modificare i numeri a mano. Il prossimo colpo "applica" per impostare i parametri. Se desideri che le impostazioni vengano applicate ad ogni riavvio, il menu >> applica all'avvio si prenderà cura di te. Per quasi tutti, questo è tutto. Divertiti con circa 75-100 MB di RAM libera in ogni momento.
Se vuoi modificare tu stesso i numeri, ogni voce è il livello di RAM libera che le app e i processi in ciascuna particolare categoria inizieranno a essere uccisi. Di seguito sono riportate le impostazioni predefinite per Android.
Si noti che nulla viene cancellato dalla RAM fino a quando la quantità di RAM libera raggiunge i 32 MB. (Se mi hai ascoltato mentre ero sul mio soapbox, sai che secondo me SenseUI non funziona bene con meno di ~ 40 MB di RAM libera) A 32 MB o meno gratuitamente, il sistema funzionerà inizia a uccidere i "fantasmi". Possiamo risalire la lista e vedere che se arriviamo a 14 MB o meno gratuitamente, il sistema può (e vuole) uccidere l'app in esecuzione in primo piano.
Se decidi di giocare con questi numeri, fai molta attenzione ai primi quattro numeri. Monkeying con questi può rendere le cose molto instabili e molto brutte. Il provider di contenuti (leggilo di nuovo sopra) è meno permaloso, ma impostandolo troppo alto renderà le cose come la sincronizzazione di Facebook ancora più complicate di quanto non lo siano già. La sezione App vuota è gratuita per tutti. L'impostazione di questo valore su un valore inferiore a 96 MB (IMO) vanifica lo scopo di utilizzare un'app come questa. Modifica le cose, concedi un paio d'ore per sistemarti e decidere se ha bisogno di ulteriori modifiche.
Edizione LowMemKiller Geek
Poiché Android funziona su un kernel Linux, ciò significa che i parametri sono memorizzati come file di testo semplice. questi possono essere modificati al volo - questo è esattamente ciò che stanno facendo app come MinFreeManager. Se preferisci non utilizzare un'app di terze parti per apportare queste modifiche, puoi facilmente modificare i valori dalla riga di comando. Accendi il tuo client terminal preferito e segui.
Per verificare i parametri correnti per l'impostazione MinFree:
su
cat / sys / module / lowmemorykiller / parametri / minfree
Questo restituirà una stringa di numeri, qualcosa del genere:
1536, 2048, 4096, 5120, 5632, 6144
Questi numeri sono pagine. Per Android, una pagina è uguale a 4 kb. Quindi, nell'esempio sopra, le impostazioni EMPTY_APP (ultimo nell'elenco - 6144) è 24 MB. 6144 pagine = 24576 kb = 24 MB. La formula sarebbe:
Pertanto, un'impostazione di 25000 sarebbe uguale a ~ 97 MB (ti ha detto che era la Geek Edition!).
Per un buon punto di partenza e un esempio di come modificare i numeri, prova questo:
su
echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parametri / minfree
In questo modo, ogni volta che la RAM libera scende al di sotto di 90 MB, i "fantasmi" vengono eliminati in ordine e se la RAM scende sotto i 60 MB, CONTENT_PROVIDERS viene ucciso. Tutto il resto viene lasciato non molestato dal kernel.
Pensaci per un secondo: non preoccuparti più di mantenere in vita cose come clock e gmail e sulla whitelist dei task killer, perché specifichiamo quali tipi di app e processi possono essere eliminati per liberare memoria.
Una volta che hai una serie di numeri che funzionano bene per te, è facile semplificare il processo di applicazione al riavvio. Sì, queste modifiche scompaiono ad ogni riavvio poiché vengono archiviate in un disco virtuale (il Ramdisk) che si cancella allo spegnimento del telefono. Avrai bisogno di un editor di testo in grado di salvare i file in un formato leggibile da Unix. Nulla di fatto da Microsoft funzionerà. Consiglio sempre Notepad ++ agli utenti Windows con la necessità di modificare i file Unix. Prendilo e installalo.
Apri un file vuoto e incolla quanto segue:
echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parametri / minfree
ovviamente modificare le impostazioni predefinite sulle impostazioni desiderate. Salvare il file come freeram senza estensione.
Collega il telefono al computer e invia il file freeram su / system / bin. Quindi al prompt della riga di comando:
su
cd / system / bin
chmod 744 freeram
Uscita
Uscita
Ora riavvia il telefono e, una volta caricato, apri il tuo terminale e digita:
su
FreeRAM
Uscita
Per impostare i TUOI parametri anziché i parametri Android predefiniti. Dovrai farlo ad ogni riavvio o modificarlo nel file init.rc, che è troppo geek per essere trattato qui. Abbiamo un forum per quello.:)
Se ti piace il modo più semplice o preferisci il modo più hardcore, provalo. È facile da ripristinare ed è gratuito al 100%.
Fino alla prossima volta,
Jerry