Scrivo questo tutorial così posso evitare di ripetermi continuamente e posso limitarmi a linkare questo topic
Quando il Nexus S fu presentato, possedeva la piattaforma hardware più prestazionale sul mercato (analoga a quella del Samsung Galaxy S). Con gli anni e le ultime versioni di Android però, la CPU single-core ma soprattutto i soli 512 MB di RAM iniziano a far sentire la loro età.
Una cosa accomuna in genere chi lamenta prestazioni insufficienti del proprio Nexus S: la scarsissima disponibilità di RAM libera. Se andate in Impostazioni > Applicazioni > In uso potete vedere la RAM libera e quella in uso (la loro somma non è 512 MB perché oltre un centinaio di MB di RAM è riservato per la gestione dell'hardware ecc.). Quando avviate una applicazione che richiede un determinato quantitativo di RAM e questa non è disponibile, il sistema provvede ad uccidere alcuni processi nel tentativo di liberare memoria. Alcune di queste applicazioni comprendono però servizi che sono fatti per funzionare in background e quindi il sistema tenterà di riavviarli (infatti potreste vedere nell'elenco alcune applicazioni con la dicitura "riavvio in corso"), con conseguente consumo di CPU, batteria ed utilizzo intenso del sottosistema di storage (perché le applicazioni vengono caricate di nuovo dal "disco"). RAM risicata, CPU e memoria flash sotto stress, risultato: rallentamento totale.
Quello che tutti possono fare è tenere sotto controllo le applicazioni che rimangono costantemente "in uso" e se sono troppo ingorde di RAM è possibile disinstallarle o rimpiazzarle con applicazioni più parsimoniose. Applicazioni particolarmente ingorde di RAM sono ad esempio Facebook, Facebook Messenger e Viber. Nel caso in cui fossero indispensabili, si può cercare di fare loro spazio rinunciando ad altre applicazioni.
I task killer non risultano particolarmente utili e possono risultare controproducenti, perché se la RAM libera è sufficiente non c'è bisogno di liberarla, mentre se la RAM è insufficiente, come spiegato, provvede già Android a liberarla. Inoltre bisognerebbe prestare attenzione a non killare applicazioni con servizi in background, i quali verrebbero riavviati e si presenterebbero i problemi illustrati. Al limite potrebbero risultare utili per killare preventivamente alcune applicazioni piuttosto che altre, ma l'alternativa intelligente è Greenify (vedi sotto).
Per interventi più importanti il modding è d'obbligo:
- Si può utilizzare un kernel "bigmem" (come il "Marmite bigmem") per cercare di guadagnare un po' di RAM utilizzabile. Effetti indesiderati: i kernel "bigmem" possono dare problemi con il modulo della fotocamera di alcuni firmware, personalmente ho provato il Marmite bigmem (versione CM) sulla CyanogenMod 10.1.0 e non ho riscontrato alcun problema.
- Si può utilizare Greenify ( https://play.google.com/store/apps/d...sfeng.greenify ), che richiede i permessi di root, per ibernare alcune applicazioni. Le applicazioni ibernate vengono scaricate dalla RAM e verranno ripristinate solo al successivo accesso all'applicazione. L'ibernazione delle applicazioni desiderate può avvenire automaticamente dopo lo spegnimento dello schermo oppure è possibile anche aggiungere un widget per avviare manualmente l'ibernazione (è anche possibile utilizzare applicazioni come Tasker per pianificare l'ibernazione in base ad altri eventi). Effetti indesiderati: se vengono ibernati widget che si aggiornano in tempo reale, ovviamente non si aggiorneranno più - oppure - se vengono ibernate applicazioni che effettuano una qualche operazione in background, ovviamente non potranno più effettuarla - oppure - se vengono ibernate applicazioni che utilizzano notifiche push, non riceverete più le notifiche push. Nella "Donation Version" a pagamento di Greenify c'è una funzione sperimentale che permette di mantenere abilitate le notifiche push ma solo per quelle applicazioni che utilizzano il sistema GCM (Google Cloud Message). Personalmente, nel caso in cui vogliate risparmiare memoria ibernando applicazioni come Whatsapp o Facebook ma senza dover rinunciare alle notifiche, vi consiglio di acquistare la versione a pagamento di Greenify ed abilitare la suddetta funzione sperimentale.
Per cercare di velocizzare lo smartphone (il suo sottosistema di storage) esiste anche questa utility https://play.google.com/store/apps/d...dmonkey.lagfix che provvede ad eseguire il TRIM su alcune partizioni della memoria flash. Personalmente non ho riscontrato particolari benefici sul telefono, ma si può sempre provare.
Potete inoltre provare diversi firmware, ad esempio io utilizzo la CyanogenMod RC/stable, ma potete provarne altri come la JellyShot ecc. se vi sembrano più prestazionali.
Per aumentare l'impressione di fluidità è anche possibile andare su Impostazioni > Opzioni sviluppatore
Ed impostare
- Scala animazione finestra
- Scala animazione transizione
- Scala durata animatore
Tutti a 0.5x
In alcuni firmware (come il 4.1.2 stock) modificare una di queste tre opzioni a 0.5x (non ricordo quale) elimina anche l'effetto CRT allo spegnimento dello schermo. Sulla CyanogenMod 10.1 questo non si verifica. Questa modifica potrebbe inoltre comportare glitch grafici con alcuni launcher (ad esempio quello "Google Experience" presente di default su Nexus 5).
Infine, utilizzando Greenify ed anche Tasker https://play.google.com/store/apps/d...ndroid.taskerm ho fatto in modo che parta una richiesta di ibernazione globale ad ogni nuova finestra (fullscreen, non dialog) che viene aperta, con ottimi risultati (ho inserito un tempo di cool-down di 1 minuto in modo che non venga eseguita a raffica).