OnePlus One - Ottimizziamo la batteria
-
Upload
marco-macci -
Category
Documents
-
view
33 -
download
7
description
Transcript of OnePlus One - Ottimizziamo la batteria
A CURA DI SIMONE BALLOCCU: SI PREGA DI CITARE IN CASO DI UTILIZZO PER
ALTRI PROGETTI.
///LA GUIDA E’ IN COSTANTE AGGIORNAMENTO: QUANDO POSSIBILE POSTERO'
CORREZIONI, AGGIUNTE E FOTO PER UNA MIGLIORE COMPRENSIONE///
La guida è consultabile/scaricabile online su Google Docs.
Sommario della guida.
Legenda:
= sezione stabile: i passaggi sono stati testati in maniera approfondita. Qualsiasi
problema causato dalla sezione può essere rimosso invertendo i passaggi.
= sezione instabile: i passaggi sono ancora da perfezionare e rendono il terminale
instabile. Sconsigliata l'applicazione fino a nuovo stato della sezione.
= sezione sperimentale: i passaggi possono essere eseguiti ma con estrema attenzione, un'errata applicazione degli stessi potrebbe mettere a rischio la stabilità o
l'incolumità del terminale. Procedete a vostro rischio e pericolo e tenete sempre a portata di mano un NANDROID BACKUP
= sezione extra: queste sezioni consentono un ulteriore aumento dell’autonomia ma vanno a limitare il device nelle sue funzioni. / Queste sezioni sono state recentemente introdotte e non è garantita la loro efficacia. Non sono sezioni sperimentali in quanto non mettono a rischio il terminale. # = sezione compatibile con Android L: questa sezione può essere applicata anche sull’ultima distribuzione di Android. # = sezione parzialmente compatibile con Android L: questa sezione può essere applicata in parte su Lollipop # = sezione non compatibile con Android L: la procedura non è compatibile e non avrà effetto/avrà effetti indesiderati su Android L
(#) Scelta ROM+Kernel
(#) Impostazioni di sistema e basi sulle batterie al Litio
(#) Gestione del kernel+Profili per App
(#) Gestione app: Disintallazione, Congelamento, Ibernazione normale + taglio
dei percorsi di risveglio, Privacy Guard
(#) Gestione Wakelock+Undervolting
(#) Ulteriori modi per prolungare l’autonomia
FAQ
Attenzione: la seguente guida richiede competenze nel flash di pacchetti generici per il
terminale, la confidenza con diversi parametri di sistema e una conoscenza generale
del S.O. Questo non vuol essere limitativo per i neofiti, anzi incoraggio tutti ad
applicarla, in quanto essa è dettagliata al fine di fugare ogni dubbio, consiglio
comunque prudenza, specialmente qualora incappaste in sezioni sperimentali come
quella dei wakelock.
GLOSSARIO DELLA GUIDA: Ecco un elenco comprensivo dei termini “tecnici” che verranno usati in questo terminale, dai più scontati ai meno noti: terminale: lo smartphone/tablet Android a cui verrà applicata la guida
app: applicazione, programma che andremo ad usare sul nostro terminale SOT: Screen On time, valore delle statistiche di batteria che mostra, sul tempo totale di utilizzo del terminale, quando tempo esso ha passato effettivamente a schermo acceso. Wakelock: tipica procedura di un’app android che risveglia il telefono (accendendo o meno il display) e compiendo una serie di operazioni. Un esempio può essere il processo di Facebook che puntualmente attiva il download di dati da Internet per sincronizzare le notifiche, i messaggi etc.. Idle o Deepsleep: Stato di minimo consumo del terminale, in cui esso non sta compiendo nessuna azione e non è attivo (ma non spento) Battery Drain: consumo della batteria NANDROID BACKUP: Backup massiccio che produce una sorta di “fotocopia” del sistema operativo, e che riporta il terminale allo stato in cui si trovava durante l’esecuzione del backup. Unico modo certo per recuperare un terminale hard/soft bricked. Eseguibile da custom recovery. Brick: stato critico del telefono distinguibile in soft brick e hard brick. In entrambi i casi il telefono non funziona/non si accende/non riesce ad accedere al sistema operativo/recovery/fastboot o a tutte le modalità. Un terminale softbricked è facilmente recuperabile tramite apposite procedure (solitamente flash manuale del firmware stock tramite adb shell o ripristino ROM da recovery, se accessibile), un terminale hardbricked in molti casi diventa permanentemente inutilizzabile. Root e permessi di root: procedura, solitamente correlata allo sblocco del bootloader del telefono, che garantisce all’utente i privilegi di amministratore di sistema. Qualunque app che vada a modificare parametri privilegiati/di sistema richiede i permessi di root. Scrivo questa guida per venire incontro a quella che è forse la più tipica richiesta dell'utente medio di ogni smartphone: come posso incrementare l'autonomia? Nonostante lavori all'ottimizzazione della batteria dei miei dispositivi Android da circa 4 anni ho deciso di pubblicare una guida solamente ora, con i dati alla mano, al fine di rendere la guida chiara e trasparente. Non perdiamo tempo e partiamo subito con qualche cenno preliminare. Requisiti per applicare COMPLETAMENTE la guida: 1) Bootloader sbloccato 2) Root Il bootloader sbloccato è necessario unicamente qualora scegliate di flashare custom rom e kernel, il root invece ci servirà per la maggior parte delle cose che andremo a fare. Armatevi di modding e andiamo a vedere la sfilza di applicazioni con cui andremo a mettere mano sul nostro terminale. Applicazioni che andremo ad utilizzare per applicare COMPLETAMENTE la guida
(•=gratuita •=gratuito, meglio comprare la versione a pagamento per utilizzarla
appieno •:a pagamento •: più possibilità, esistono alternative gratuite, che verranno indicate seguendo la legenda ) Settaggi default di Android Greenify (Donation Package + Modulo Xposed>e quindi necessiteremo anche dell'Xposed Framework: senza non potremo usare il programma al massimo del suo potenziale). Un qualsiasi tool di gestione del kernel (Consigliati Trickster MOD/Kernel Tweaker ma soprattutto Synapse, assolutamente il più completo oltre che gratuito) + Aero Control Un qualsiasi tool di gestione applicazioni avanzato (consigliato Lucky Patcher) Wakelock Detector (la versione pro non è contemplata nella guida, se ne fa benissimo a meno) Amplify (la donazione permetterà di interagire completamente con i wakelock) Antutu Benchmark Performance Profile (modulo xposed) Cosa vogliamo ottenere da questa guida? Vogliamo ottenere un OnePlus che arrivi a fine giornata (formalmente 16 ore, es.: 8:0024:00) sotto utilizzo medio (formalmente assunto come utilizzo di social quali Whatsapp/G/Facebook etc..+Surfing su Internet tramite Chrome e simili+Gaming sui titoli più leggeri+streaming di musica/video offline/online) e che arrivi a tarda sera (formalmente 1112 ore, es.: 8:0019/20:00) sotto utilizzo estremo (sincronizzazione aggressiva+flash intensi di rom/mod etc..tali da rendere necessari diversi riavvii e wipe+gaming pesante etc..). Ancora più importante vogliamo ottenere UN'AUTONOMIA OTTIMALE SENZA CASTRARE L'ESPERIENZA UTENTE. L'AUMENTO DELL'AUTONOMIA LIMITANDO SENSIBILMENTE LE PRESTAZIONI DEL TERMINALE NON E' ACCETTATO. Piccola nota: WIFI+2G/3G/LTE e "nessuna guida fa miracoli" Questa guida viene applicata ad un utilizzo sotto rete wireless per almeno il 60% del tempo totale, inoltre è completamente basata sul mio uso personale, potreste ottenere risultati migliori, peggiori, notare miglioramenti marginali o sensibili a seconda della vostra esperienza utente.
ANGOLO SCREENSHOT D'ESEMPIO
Screenshot di una giornata sotto utilizzo aggressivo, con Wakelock INDOTTO DI PROPOSITO(notare la barra "attivo" relativa al terzo screenshot, durante la giornata al terminale non è MAI stato permesso di entrare in DeepSleep): 1, 2
Screenshot di riferimento alla giornata del 24/08/2014 in una zona dove il segnale continuava ad oscillare tra 2G, 3G ed H. Per la prima parte della giornata ho usato il telefono molto sporadicamente, dal tardo pomeriggio in poi l'ho ripreso in mano molto spesso per stressarlo: 1, 2
Screenshot dell'utente @luca.tait: 1
Screenshot di una giornata d'utilizzo medio: 1, 2 Screenshot dell’utente @fabrizio.recchiuti: 1, 2, 3 Screenshot di utilizzo sotto CM12 (Android Lollipop), prevalentemente wifi: 1, 2, 3, 4,
5, 6
SCELTA ROM+KERNEL
Richiede il root? Si
Richiede lo sblocco del bootloader? Si
Tutte le ottimizzazioni del mondo saranno penalizzate da una base inadatta, e per base
intendiamo ROM+Kernel. Al momento monto la CM12 (5.0.2) in accoppiata all’AK Kernel.
Piccolo appunto: se utilizzate la rom stock del OnePlus One (Cyanogenmod11S) verificate
su che versione vi trovate al momento. Al momento vi sono (in ordine cronologico di rilascio)
la 22R, la 25R, la 30O, la 33R, la 38R, e la 44S e la 05Q, e le prestazioni della batteria
sembra vadano sempre calando di versione in versione. Consiglio di rimanere alla più vecchia
versione possibile, per ottenere le migliori prestazioni possibili. Attualmente i migliori risultati
sono stati registrati sulla 22R.
IMPOSTAZIONI DI SISTEMA E MANUTENZIONE
DELLA BATTERIA
Richiede il root? No Richiede lo sblocco del bootloader? No Partiamo dal sistema operativo in se': rimuoviamo settaggi inutili e impariamo come prenderci cura della batteria:
Geolocalizzazione: è necessario che il cellulare sappia dove vi trovate in ogni
momento? Sicuramente no, ma le app che ne richiedono l’utilizzo lo faranno sia
che voi lo disattiviate o no. Scegliete quindi se impostarlo sull’opzione di Basso
Consumo o disattivarlo. Io personalmente preferisco tenerlo su Alta precisione
per avere un accesso pressochè istantaneo alla mia posizione durante l’utilizzo
di Maps o app simili.
Disattivate l'NFC: tecnologia dispendiosa come poche. Se non la utilizzate
continuamente andate in Impostazioni>Altro e togliete la spunta da NFC.
Scansione sempre disponibile?! Andate in
Impostazioni>WiFi>Avanzate>e togliete la spunta a "Scansione sempre
disponibile" se è presente. Se disattivate il Wifi deve rimanere disattivato.
Disattivate la luminosità automatica: disattivando la luminosità automatica il
sensore non sarà costretto a monitorare continuamente la luce ambientale.
Nonostante esso non sprechi moltissima batteria è comunque un risparmio in
più. Inoltre la luminosità manuale si presta meglio a ciò che il vostro occhio
necessita per un utilizzo ottimale.
Disattivate la sincronizzazione degli account: quante volte al giorno volete
sincronizzare i vostri contatti, il calendario etc? Una (forse)? Avete due scelte:
disattivate completamente la sincronizzazione automatica (c'è una tile nei
Quicksetting fatta apposta oppure Impostazioni>utilizzo dati>...>togli la
spunta da sincronizzazione automatica) e attivatela per qualche minuto
quando vi capita. Inoltre andate nelle impostazioni di app come Facebook e
imposta la frequenza di aggiornamento su "Mai". Non preoccupatevi, riceverete
comunque le vostre notifiche. Al contrario però disattivare completamente la
sincronizzazione degli account potrebbe portare alla perdita di diverse notifiche.
Se siete interessati a mantenerle andate in
Impostazioni>Account>selezionate gli account che vi interessano e togliete
le spunte solo da ciò chen non vi interessa venga sincronizzato
automaticamente
Limitiamo i dati in background: ossia decidiamo quali app possono accedere
alle reti mobili. Andiamo in Impostazioni>Utilizzo Dati. Spuntando l’opzione
(Tramite il tap nell’opzione su …) “Limita dati in background” impediremo ad
ogni app di accedere alle reti mobili in qualsiasi momento. Personalmente la
trovo un’alternativa un po’ troppo estrema. Andate quindi nella lista di app che
troverete subito sotto il grafico e selezionate quelle che non volete che
accedano alle suddette reti. Ricordate che non è disponibile per alcune app di
sistema.
Disattivare il Bluetooth?: il Bluetooth è una tecnologia molto dispendiosa per il
cellulare. A meno che non ti sia assolutamente necessaria (auricolari per
chiamare etc), dovreste evitare di tenerla sempre accesa.
Regolate la connessione dati: Di norma il OnePlus è impostato per le reti 4G,
un bello spreco. Se il vostro piano non le supporta o se non ne avete bisogno
andate in Impostazioni>Reti Mobili>Tipo di rete preferito. Quando poi non
vi interessa della connessione impostate la preferenza su 2G o, ancora meglio,
disattivatela con un tap sulla tile del segnale o disattivando proprio i dati mobili.
Lasciate in pace la schermata delle applicazioni recenti: Siete tra quelli che
svuotano la schermata dei recenti continuamente? Sappiate che state rendendo
più difficile al telefono fare il suo lavoro. Android gestisce la memoria
dinamicamente, le applicazioni nella schermata “app recenti” vengono gestite
meglio, soprattutto quelle che usate spesso. Applicazione nei recenti=la stai
usando spesso, ottimizziamo la sua esecuzione/Applicazione non nei
recenti=non ti serve, terminiamo completamente la sua esecuzione.Quindi
togliete le app che non riaprirete presto. Tutto questo chiudere e riaprire il
processo è più dispendioso in termini di batteria piuttosto che tenerlo in
background. Ah, ovviamente questo si applica a tutti i task killer. Android
impedisce a programmi come Clean Master e CCleaner di terminare le
applicazioni in background sin dall’uscita di Jelly Bean. Pensate che questo sia
cambiato in Kitkat? Vi sbagliate. Fate una prova: premete il vostro bel tasto “kill”
della vostra app e rifate la scansione per le app in background qualche secondo
dopo. Che applicazioni ci sono? Esatto, le stesse. Quindi le applicazioni non
sono state chiuse? Si, ma Android considera questa chiusura forzata (che non è
stata eseguita dalle sue impostazioni native) un errore, e non le distingue da un
banale crash dell’app stessa. Quindi le ha riaperte immediatamente, e torniamo
allo stesso discorso dei recenti. Forzate il sistema a riaprirle quando non è
necessario. Utilizzate quei programmi solo per pulizia cache e simili.
Il telefono acceso la notte?: se il telefono è in carica e vi serve acceso è
accettabile, ma se non lo è perché non spegnere il cellulare la notte? Porterete
il consumo allo 0%, inoltre il OnePlus, grazie al quickboot, provvederà ad
accendere il telefono qualche minuto prima della vostra sveglia.
Wallpaper?: Parliamo di sfondi. Generalmente si ritiene sconsigliabile utilizzare
wallpaper animati molto complessi. Effetti parallasse, costellazioni in
movimento, teneri cagnolini che leccano lo schermo sono sicuramente
stimolanti ma sforzano la GPU (vedremo dopo cosa è). Piuttosto impostate un
programma che cambi sfondo ogni tot di tempo, consumerà di meno, oppure
uno sfondo animato non esageratamente complesso (e non troppo veloce,
spesso si possono settare questi parametri dalle impostazioni dello sfondo
stesso). In ogni caso un wallpaper animato di media complessità comporta un
aumento del 24% del battery drain, facilmente sopportabile. Una menzione va
fatta anche per i colori: molto spesso si tende a dire che in generale uno
sfondo nero/scuro ottimizzi i consumi. Sfatiamo questo mito, lo sfondo nero
riduce i consumi solo su schermi DI TIPO OLED, dove i pixel sono diodi
emettitori di luce propria, e piú sono scuri i colori, meno luce devono utilizzare,
ragion per cui si ha risparmio energetico. Presumendo che voi abbiate un
OnePlus, ossia un dispositivo a schermo IPS (che è una particolare variante
di un LCD) sappiate che la retroilluminazione è fissa e limitata solo
all'impostazione della luminositá. Se è tot con il bianco, sará tot con il nero.
Quindi potete utilizzare il wallpaper che preferite. Inoltre uno sfondo chiaro è
consigliabile anche per una maggiore godibilitá visiva. Avete uno schermo full
HD a colori realistici ed alta densitá di Pixel, perchè non dovreste usarlo?
Ricaricare? Si? Come? Quando?: anche su questo argomento ci sono tutt'ora
dibattiti in corso e opinioni discordanti, cerchiamo di fare chiarezza. La batteria
del One è una 3100Mah LiPo, dove quest'ultima sigla sta per "Polimeri Litio".
Sulle batterie a polimeri di Litio (e in generale sulle batterie al Litio) è
notevolmente ridotto l'effetto memoria, tanto che canonicamente lo si ritiene
nullo. Cosa vuol dire questo? Che la batteria non risente eccessivamente, a
livello di carica e prestazioni, di ripetute cariche incomplete. Non dovete
temere le “mezze ricariche”. Perché ho scritto “non risente eccessivamente”?.
Teoricamente si parla di effetto memoria assente, ma statisticamente i risultati
non sembrano andare in questa direzione. Quindi evitate di ricaricare 10 volte al
giorno il vostro smartphone. E ricordate che la LiPo muore (non proprio, ma
perde circa l’80% della sua carica...) dopo 500600 cicli di ricarica circa (Le
LiOn intorno ai 600 se si tratta di una batteria di buona fattura). Imparate a fare
una ricarica la notte e una a mezza giornata, anche meno se possibile. 1
ricarica al giorno = quasi due anni prima che la batteria sia notevolmente
deteriorata/ 5 mezze ricariche al giorno=2 ricariche complete e mezzo ogni
giorno=ritenetevi fortunati a superare l’anno con la vostra batteria. Attenzione
poi: le batteria al Litio deteriorano con costanza matematica. Non fate l'errore
di comprarvi una scorta di batterie LiPo, si scaricheranno comunque soprattutto
se non le usate (una media di perdita di carica dell'1% per mese di inutilizzo).
Ricordate inoltre che il Litio è un materiale esplosivo ad alte temperature.
Se il vostro One accenna ad un serio surriscaldamento isolatelo da tutto o tutti.
Ricordate però che la CPU di buona qualità opera tranquillamente fino ai 70°.
Proseguiamo col discorso ricarica. La prima ricarica fa un po' da punto di
riferimento per tutta la vita della batteria (si, anche per le LiPo) per cui
effettuate una ricarica completa e sostanziosa la prima volta (pur coi tempi
rapidi del OnePlus consiglio dalle 3 alle 5 ore di ricarica la prima volta).
Un’errata ricarica iniziale vi porterà ad osservare il primo 1020% della batteria
andarsene molto velocemente, e in questo caso vi consiglio la procedura in
fondo a questa sezione. Successivamente non stressatela: anche se Android
non permetterà MAI che la vostra batteria si scarichi completamente (tiene
sempre isolata una "scorta" di carica, solitamente il 5%, per se') non è
consigliabile avvicinarcisi. Mettete il cellulare in carica il più possibile vicino al
20% e se proprio volete essere pignoli effettuate una scarica "completa" ogni
2530 ricariche. Se un dispositivo a batterie a ioni Litio deve rimanere
inutilizzato per diversi giorni, conservatelo lontano da umidità e calore e tenetela
comunque attiva un minimo. Statisticamente la batteria ossida maggiormente
sotto il 40% di carica. Inoltre non tenete mai il cellulare in carica più di 8 ore al
giorno. Evitate prolungate ricariche tramite USB connessa a pc: è lenta e sforza
il terminale. Ultima cosa: non utilizzate il telefono durante la ricarica, soprattutto
in modo aggressivo: mette in difficoltà la salute della batteria (un continuo
caricascarica diciamo) e causa lo sviluppo di temperature molto alte, dannose
anch'esse.
Calibrazione, questa sconosciuta: la calbrazione della batteria è una
leggenda per certi versi. Tutt'ora anche su questo argomento ci sono opinioni
contrastanti e molti, molti pregiudizi. Sfatiamo subito il mito principale: non
esistono app che calibrano la batteria e cancellare il file batterystats.bin
non ha nessun effetto su di essa. Cos’è il file batterystats.bin? E’ il file relativo
al grafico della batteria che vedete andando nell’omonima voce delle
impostazioni. Cancellandolo non otterrete nulla di fisico sulla batteria, al più
resetterete il grafico. La calibrazione è ben altra cosa, si tratta di stressare il
device, ossia farlo spegnere per batteria scarica, per poi forzarlo a riaccendersi
(accendendolo forzatamente più volte o lasciandolo acceso in recovery) fin
quando il terminale non da più segni di vita (metaforicamente parlando). A
questo punto lo si lascia per molto tempo in carica (dalle 4 alle 5 ore) e quando
è carico lo si accende e lo si continua a usare per 1015 minuti da acceso.
Questa procedura è dannosa per la batteria e va fatta solo in caso di evidenti
scalibrazioni (spengo il cellulare al 60% ma quando lo riaccendo è all’80% / il
cellulare non si ricarica mai oltre una certa percentuale / il cellulare si riavvia da
solo e al riavvio ha perso/guadagnato qualcosa come il 50% della carica
etc...NON se in un riavvio la percentuale è falsata dell'1%2% e/o se questo
succede raramente). A chi ha la malata abitudine di fare una calibrazione al
mese annuncio che probabilmente ha già fatto fuori una buona parte della
vita della batteria del suo One.
Passate ad ART: questa guida è davvero lunga e siete solamente
all’inizio...avete già un cerchio alla testa? Siete su Kitkat (Android 4.4.X)?
Impostazioni>opzioni sviluppatore> selezionate runtime e impostate ART.
Nonostante sia ancora aperto il dibattito ART risulta essere più fluido di Dalvik
(su cui applicheremo la guida) e meno esigente in termini di autonomia. Il
problema? Perderete la possibilità di utilizzare xposed e quindi di applicare la
maggior parte di questa guida.
Il grafico è relativo: il fatto che una certa voce sia in cima alla sezione della
batteria è simbolo di un battery drain eccessivo? NO. Se userete poco il
cellulare nell’arco della giornata vedrete per forza di cose lo standby, il telefono
inattivo, il Wifi etc. Perchè il grafico di Android è relativo, e in relazione al vostro
utilizzo le voci si alternano. Non cercate drain inesistenti e pensate
concretamente a cosa tutto deve gestire una sola batteria.
Tentare di risvegliare la “carica sopita” di uno smartphone:
Come abbiamo evidenziato in questa sezione un’errata prima ricarica del terminale può
portare lo stesso a “contare” erroneamente la propria carica disponibile: questo si manifesta
con una perdita molto rapida del primo 1020% di batteria. A questo punto possiamo fare due
cose per recuperare:
1) calibrare la batteria come illustrato sopra: purtroppo questa procedura in parte
danneggia la batteria dello smartphone ed è consigliabile solo in caso si sia sicuri che
la carica persa non sia recuperabile.
2) procedura di risveglio della carica: proviamo a recuperare questa carica nel seguente
modo.
Disattivate l’avvio rapido se lo utilizzate. Connettete il telefono al
caricabatterie da acceso e attendete che raggiunga il 100%. Una volta
che l’ha raggiunto aspettate 10 minuti, staccatelo dal caricabatteria e
spegnetelo.
Riaccendete il telefono e una volta completate l’avvio rimettetelo in
carica. Attendete 30 minuti un’ora e staccate il telefono dal
caricabatterie.
Non vi è garanzia di funzionamento, ma prima di tentare calibrazioni o altro è consigliabile
tentare.
GESTIONE DEL KERNEL
Richiede il root? Si per settaggi avanzati/ Custom ROM, no su CM11S Richiede lo sblocco del bootloader? Si per custom kernel, no su CM11S Cos’è il kernel? Non dilunghiamoci in lunghe spiegazioni (come d’altronde non faremo mai in questa guida, ci sono anche exutenti Apple che leggono!) e diciamo semplicemente che il kernel si occupa di ripartire le risorse hardware ai processi secondo una certa logica e secondo determinate “schede”, ognuna con i suoi parametri.Cerchiamo di configurare il kernel in modo da ottenere prestazioni interessanti con il minor consumo possibile ///ATTENZIONE: questa sezione riguarda modifiche molto delicate, e vengono generalmente presi in considerazione tutti i kernel disponibili per OnePlus One. Alcune impostazioni potrebbero non essere disponibili per il vostro kernel//// Aprite il vostro gestore del kernel e impostate tramite le varie sezioni (consigliato Synapse, che
per funzionare necessita il flash di questo file). Poiché le modifiche vengono effettuate da me
attraverso Synapse verrà indicata in rosso la sezione del programma dalla quale accedere
alle seguenti impostazioni. Se siete su Android L cambiare kernel e farlo capire a Synapse è
piuttosto rognoso: dovrete eliminare i dati dell’app, disinstallarla, cancellare la sua cartella in
/sdcard tramite un file explorer, andare in recovery, flashare il kernel e UKM, riavviare e
reinstallare Synapse. Questo ad ogni cambio.
CPU
CPU FREQUENCIES: Cosa indica quel 2.5Ghz relativo alle specifiche del OnePlus
One? Semplicemente la velocità massima che il terminale può raggiungere. Non
scenderemo nei dettagli, diremo solo che l’hardware del One è molto performante.
Tramite questo setting settiamo la minima e la massima velocità raggiungibili dal
nostro smartphone. Una frequenza minima più alta comporta migliori prestazioni, ma
ovviamente consuma più risorse. Per il momento limitiamoci a impostare come
frequenza minima la più bassa disponibile e viceversa per quella massima (per il
momento? Ne riparleremo dopo). Sconsiglio il cosiddetto overclocking (portare il One
a velocità più alte quali 2.8Ghz o simili). Il governor stabilirà invece in che modo il
processore scalerà le frequenze (ovviamente tra la minima e la massima ci sono
diverse frequenze intermedie). Generalmente nella maggior parte del kernel sono
presenti SEMPRE questi governor: Ondemand, Interactive, Powersave,
Performance; cosa cambia tra uno e l’altro? Chiariamolo ora, a titolo informativo.
Ondemand è l’ex governor stock di Google (ora si utilizza l’Interactive), gestisce
dinamicamente le frequenze in base al carico di lavoro: incrementa la frequenza del
processore e la abbassa alla stessa velocità e quindi più un’app richiede risorse, più la
alza. È il governor più bilanciato. L’interactive è un OnDemand più sprecone, diciamo:
innalza la frequenza esattamente come l’OnDemand, ma scala più lentamente,
tenendo più a lungo il processore ad alte velocità. Consuma più batteria (ma non
sensibilmente) per ridurre lag e i rallentamenti, la logica è: se hai richiesto un’alta
velocità è probabile che ne avrai bisogno di nuovo a breve. Powersave è uno dei
cosiddetti governor “estremisti”: blocca la frequenza minima e quella massima
entrambe al valore più basso. Ovviamente serve a risparmiare batteria e ci riesce
egregiamente, ma allo stesso tempo il telefono diventa quasi inutilizzabile.
Performance, infine, fa l’esatto contrario: blocca entrambe le frequenze al massimo
valore disponibile: questo azzera (o quasi) i lag e i rallentamenti e rende il telefono
esageratamente reattivo e scattante, ma allo stesso tempo consuma moltissima
batteria. Nel tuo kernel ci sono governor diversi? Controlla le FAQ a fondo guida,ad
ogni modo in questo frangente invito alla sperimentazione: provate tutti i governor
disponibili e decidete in base alla vostra esperienza. Non esiste un governor che
renderà il vostro telefono completamente inutilizzabile. Per chi volesse fidarsi invece di
ciò che ho dedotto io passiamo ora ai miei settaggi: Min 1460000 (146Mhz) / Max
2457600 (2.5Ghz) / Governor IntelliActive
HOTPLUG
MPDecision, IntelliPlug, AutoSMP, MSM Limiter, CPU Boost Driver e compagnia
cantante: l'MPDecision è l'algoritmo proprietario di Qualcomm per la gestione della
CPU. Il funzionamento è molto complesso, quindi facciamola breve: la base di
MPDecision è di assegnare un "boost" quando lo schermo viene toccato (La logica è:
facciamo schizzare la CPU appena l'utente interagisce, così le prestazioni migliorano).
È un algoritmo teoricamente efficiente, ma che si scontra con un inadeguato consumo
della batteria, anche per le minime azioni (il boostè esagerato) e con il conflitto della
temperatura. Infatti Qualcomm da una parte fa schizzare il processore, dall'altra lo
blocca molto severamente quando il cellulare scalda. L’algoritmo agisce anche sul tipo
di app che apriamo. App multimediali e giochi provocheranno spesso immotivati picchi
della CPU. O tutto o niente, diciamo. MPDecision va disattivato? Possibilmente si, in
quanto è un algoritmo estremamente inefficiente. Se utilizzate l’AK Kernel (ma è raro
trovare kernel che utilizzino l’MPDecision) disporrete di diverse alternative, tra cui una
sviluppata dal team Cyanogen. Sono tutte alternative valide che offrono diversi
vantaggi e funzioni particolari. In particolare a questo punto la guida va divisa tra chi
userà l’AutoSMP, l’MSM Hotplug il CPU Boost Driver, l’MSM Limiter o l’IntelliPlug: se
userete gli ultimi due, potrete settare un parametro molto utile, quello della frequenza
massima a schermo spento, una frequenza che il terminale non supererà mai in
standby. Effettivamente l’underclocking viene sconsigliato nella guida (vedere le FAQ
a fondo documento), allora perché applicare questo parametro? Diciamo che in
alcuni frangenti potrebbe essere utile, ne parleremo più avanti (per esempio nei casi
di wakelock, vedere gli step sperimentali). Se applicate CPU Boost Driver potrete
settare nel minimo dettaglio entro quali limiti il processore dovrà scalare frequenza,
come, e di quanto, disporrete inoltre di un boost al tocco, come nell’MPDecision, ma
decisamente meno energivoro e più personalizzabile. Utilizzando l’AutoSMP o l’MSM
Hotplug potrete settare il massimo numero di processori attivi in contemporanea e
come essi si comporteranno in termini di “boost”. Come indicato da Synapse, attivate
solo uno di questi driver. Al momento utilizzo L’IntelliPlug sotto profilo Conservative(4).
Update: sono stati rilasciati nuovi driver per lo scaling della CPU ma sono così
dettagliati (avrete sezioni CPU che diventeranno, veramente, enormi) che ci
vorrà tempo prima di poterne capire il funzionamento e l’effettiva utilità. Invito
comunque al testing.
MODALITA' ECO (Disponibile su Furnace Kernel): La modalità Eco è diretta
discendente dell'IntelliPlug, l'algoritmo tenterà di incanalare il maggior numero di
operazioni in 2 core, senza diminuire le prestazioni. Se notate sensibili lag o
comunque prestazioni minori, disattivatela. Sconsigliata l’attivazione, di scarsa utilità a
mio parere.
CPU Multicore Power Saving (Disponibile su Furnace/Franco Kernel): Un po'
un'estremizzazione della modalità Eco. Non cercherà di raggruppare la maggior parte
del lavoro su due core, ma costringerà il terminale a lavorare come un dualcore
(o monocore a seconda di come la impostate). Non attivarla se si utilizza l’Auto SMP.
E’ stato inoltre dimostrato come questa funzione sia tutt’altro che efficace, eccetto in
particolari occasioni (torniamo al discorso dei wakelock). Il principio teorico è quello
del togliere due o più Core in modo da allegerire il carico del telefono in termini di
risorse. Purtroppo questo principio poteva valere anni fa, quando i cellulari multicore
erano una novità e tutti gli sviluppatori si trovavano a convertire il codice dei
programmi dal MonoCore alla possibilità di usare più core. Ora che il multiCore è uno
standard per i cellulari tutti i programmi sono ottimizzati per funzionare sfruttando
questa funzione, spesso ottimizzando consumi e riducendo il calore sviluppati dal
processore. Castrando il telefono e costringendolo a lavorare in Dual Core, per
esempio, stiamo semplicemente raddoppiando il lavoro su quei due core, per cui
otteniamo: stesso numero di operazioni da eseguire, minori prestazioni, maggiore
latenza, maggiore sviluppo di calore in alcuni casi, consumo non uguale ma anzi
spesso incrementato. Quindi l'undercoring è un placebo? In realtà no, infatti entro
specifici parametri, molto ristretti, esso aumenta l'autonomia. Questo è da riservarsi a
situazioni in cui il telefono non funziona come dovrebbe (ancora una volta: wakelock).
Pertanto nella guida non verrà più incluso l'Undercoring o la Gestione dei Core, ma
verrà comunque indicato come utile l'utilizzo del cellulare come MonoCore a schermo
spento.
Screen off max frequency (appartenente all’IntelliPlug): ossia la massima
frequenza consentita al nostro terminale quando lo schermo è spento. Consigliato.
Screen off Single Core (appartenente all’AutoSMP): impedisce al cellulare di
utilizzare tutti i processori quando lo schermo è spento. Si torna sul solito discorso dei
wakelock e dell’underclocking. Attivabile solamente con il protocollo AutoSMP. Se
utilizzate l’IntelliPlug questa funzione viene impostata o meno a seconda dell’utilizzo
del terminale.
THERMAL Temperature Threshold (Disponibile su Tyr Kernel): Permette di settare una
temperatura che, se raggiunta dal telefono, castrerà le prestazioni per ridurla. A
differenza dell’algoritmo che si vedrà più avanti in questa sezione, in questo caso la
temperatura possiamo deciderla noi.
Core Control / VDD Restriction / Temperature Throttle e compagnia canante:
Questi driver sono tutti fondamentalmente la stessa minestra: gestiscono la modifica
dei parametri di sistema e del clock durante il raggiungimento di elevate temperature.
Spesso non sono settabili, solo selezionabili. Consiglio di testarli, io utilizzo
stabilmente il terzo.
CPU VOLT
ATTENZIONE! I CONTROLLI DI QUESTA SEZIONE VENGONO
TRATTATI SOTTO LA VOCE “UNDERVOLTING”, E SI TRATTA DI
STEP SPERIMENTALI.
CPU Global Voltage: permette di gestire globalmente il voltaggio
del processore. Ogni cambiamento effettuato in questa sezione
verrà applicato ad ogni frequenza. Undervolting ritenuto sicuro
finora anche con utilizzo elevato=80mV sotto CM12 e AK
Kernel
CPU Frequency Voltage: permette cambiamenti arbitrari di
voltaggio sulle frequenze specificate. Sconsigliato l’utilizzo, non
verrà affrontato in questa guida.
I/O
READ AHEAD SIZE: Impostatelo al massimo (4096) e impostate lo scheduler
"deadline". Questo controllo permette alla memoria di prepararsi meglio all'esecuzione
di istruzioni ancora non richieste. E' utile dal lato performance e non rappresenta una
minaccia per la durata della batteria.
Software CRC Control: controllo su un particolare protocollo di filtraggio ed
interpretazione dei dati in input. Può essere (non a priori) piuttosto energivoro
(1530%). Consigliata la disattivazione.
Add Random: un’altra leggenda metropolitana vuole che agendo sull’Entropy pool di
Android (tramite kernel o app come Seeder) si vada a rimuovere il lag dal telefono.
Tutto ciò è falso (vedere le faq). Sconsigliata l’attivazione.
I/O stats: da attivare o disattivare a piacere, la disattivazione interromperà il
funzionamento delle app che monitorano le operazioni di Input/Output o dei logger.
GPU
GPU FREQUENCY : La GPU, o Graphic Processing Unit è l’unità di elaborazione
grafica secondaria rispetto al processore. Anche in questo caso non scendiamo nei
particolari, diciamo solamente che sarebbe sciocco limitare le prestazioni della GPU
del One, quindi settiamo il massimo valore disponibile nel nostro kernel, mentre come
governor selezioneremo quello più indicato per il nostro modello, come di seguito: Min
200/ Max 578 / Governor msmadrenotz
MEMORY Laptop Mode: Evitate di applicare questo parametro in quanto influisce sui
permessi di root e li rende inutilizzabili.
Swappiness: ovvero la tendenza del kernel a spostare le operazioni da eseguire sul
disco di swap piuttosto che sulla RAM. Fondamentalmente (questo si applica anche
sui computer) un’operazione può essere eseguita dopo il caricamento su disco o
direttamente in RAM. La RAM è notoriamente una memoria estremamente veloce
rispetto ai normali dischi (anche nel caso di memorie flash, come nei terminali
Android). Quindi aumentare la percentuale di questo parametro comporterà una
memoria RAM più libera, ma una minore velocità nell’esecuzione delle azioni. Il
parametro è da testare a piacere, non influisce enormemente sulle prestazioni.
Personalmente riservo un po’ di RAM tenendo la percentuale al 4060%.
WAKE GESTURE: In questa sezione troverete tutte le classiche gesture a schermo spento
del One. Più gesture attivate comportano un maggior consumo a schermo spento.
MISC
CONTROLLO CONGESTIONE TCP: Questo protocollo serve a limitare i pacchetti
dati inviati durante la navigazione web per esempio. Non approfondiamo molto il
concetto e utilizziamo il governor che al momento si è dimostrato più efficiente: htcp
ADV Krait CStates Settings: Contiene i vari stati di sleep del telefono (in ordine crescente
di profondità da C0 a C3). Attivarli tutti permette al telefono di avere una vasta gamma
di situazioni di “riposo”. Attivandone solo alcune precludiamo lo sleep o il risveglio del
terminale. Per esempio se selezionassimo solo il C3 otterremo un deep sleep a
bassissimo consumo ma probabilmente il telefono rallenterebbe notevolmente
nell’accensione dello schermo. Consigliata l’attivazione di tutti i tipi. In alcuni kernel è
noto come “Power Suspend Mode” e si potrebbe trovare in altre sezioni.
Kernel Samepage Merging: permette miglioramenti a livello di prestazioni di memoria
ma incrementa l'utilizzo della CPU. Valutate se attivarlo.
FSync (Disponibile nel Franco Kernel): mostra cambiamenti sensibili a livello di
prestazioni, a discapito dell'integrità della memoria in caso di crash. Consigliata
l'attivazione. E’ disponibile anche in AK Kernel, ma si trova sotto MISC
BUILD.PROP
Wifi Scan Interval: settatelo il più alto possibile a meno che non utilizziate spesso
connessioni molto deboli.
Impostate il programma che usate per applicare le impostazioni all'avvio (senza però bloccare
la frequenza del clock) e applicate un periodo di grazia di almeno un minuto per retrocedere in
caso di instabilità. Nel caso usiate Synapse il periodo di grazia non esiste: il programma
annullerà ogni setting se il cellulare non rimarrà stabile per almeno due minuti dall’avvio. Se il
dispositivo crasha le impostazioni torneranno quelle stock del vostro kernel. Premete a questo
punto il tasto di spunta all’interno di Synapse per tenere i nuovi settings, la croce per annullare
e ripristinare i settaggi che hanno fatto crashare il telefono. Synapse non fa differenza tra un
riavvio normale fatto prima di due minuti dall’avvio e un crash.
PROFILI D’UTILIZZO PER APP
Il governor della CPU influisce pesantemente insieme all’Hotplug sulle prestazioni del
dispositivo. Se avete applicato le mie impostazioni entrambi saranno impostate sul
Conservative, e noterete i benefici sull’autonomia di questa combinazione, come noterete le
problematiche che ne derivano non appena proverete a giocare (decisamente una delle
attività più pesanti per uno smartphone). Queste impostazioni sono molto avare e moderano
lo scaling della frequenza per risparmiare batteria. Il risultato è che molti giochi soffriranno del
cosiddetto “lag” (gioco lento o scattoso), decisamente insopportabile su un terminale
prestante come il OnePlus. Come andare ad agire su questo? Tramite i profili per App, ossia
delle impostazioni del Kernel che si attiveranno solo durante l’utilizzo di determinate app.
Questa procedura va a rimuovere quello che è il principale limite dell’underclocking e
dell’overclocking: l’applicazione globale. Con i profili per app potremo decidere quale sarà la
frequenza massima e minima di ogni processore per ogni singola app. Richiede del tempo
ma da soddisfazioni a livello di autonomia
Questo è fattibile con diverse app, ma nel nostro caso useremo Performance Profile,
modulo xposed interamente dedicato a quest’utile funzione, nonchè una delle poche app che
non entrerà in conflitto con Synapse e pienamente compatibile con Android L.
Dopo aver impostato il kernel con Synapse apriamo Performance Profile (che va installato e
attivato in quanto modulo). Ci troveremo davanti ad una schermata con tre icone grigie:
Default: il profilo generalmente usato da tutte le app che non imposteremo, anche
quello a cui tornerà il telefono alla chiusura di un’app per cui avremo specificato un
profilo. Apritelo e tappate gradualmente su “CPU X” in modo da vedere l’impostazione
per ognuno dei quattro processori del OPO. Una volta appurato che corrisponde a ciò
che avete settato su Synapse potete tornare indietro, altrimenti premete il tasto di
refresh (una sorta di freccia che ruota in senso antiorario) per far si che il programma
lo rilevi automaticamente.
Screen Off Profile: il profilo che si attiverà quando lo schermo è spento. Sconsiglio di
impostarlo insieme ad impostazioni simili su Synapse, quello del modulo è più preciso
in quanto ci permette di cambiare il governor. Impostazione consigliata:
Min. CPU Frequency: 146Mhz / Max. CPU Frequency: 883Mhz / Governor:
Conservative
Lockscreen Profile: il profilo che si attiverà nella schermata di sblocco.
PErsonalmente non lo utilizzo.
A questo punto possiamo passare alla vera e propria impostazione delle app: premete il tasto
+ e selezionate tutte le app per cui volete impostare parametri personali, tornate poi indietro
una volta terminato. Ora, come noterete non è presente una selezione multipla (casomai
vogliate impostare gli stessi valori per più app). Il mio consiglio è di tappare su
un’applicazione, impostare per ogni CPU i parametri che vi servono (io mi fermo alla CPU,
non mi interessano i governor I/O) dopodichè tenete premuto su ogni app per cui volete
applicare un profilo identico e selezionate Apply values from, selezionando l’app
precedentemente configurata. Per il resto vi indico generalmente i miei settaggi per le app,
modificateli a seconda di come meglio vi trovate:
CASO 1: APP CHE RICHIEDONO MOLTE RISORSE (ES: GIOCHI)
Min. CPU Frequency: 1958Mhz / 1574 Mhz / 1958Mhz / 1574Mhz
Max. CPU Frequency: 2457Mhz
Governor: Interactiver
CASO 2: APP CHE NON RICHIEDONO ALTE RISORSE (STORE, CLIENT COME
TELEGRAM ETC…)
Min. CPU Frequency: 146Mhz
Max. CPU Frequency: 1728Mhz
Qualche avvertimento: non impostate ovviamente profili per Synapse o altri gestori del kernel,
ne comprometterete il funzionamento. Se vi da fastidio il continuo messaggio di applicazione
dei profili potete rimuovere le notifiche dall’interfaccia stessa del modulo
CONTROLLO DELLE APP
Richiede il root? Si
Richiede lo sblocco del bootloader? No
HO BISOGNO DI TUTTE QUESTE APP CHE NON USO?
Sono l'unico qui che odia il pacchetto di Google Apps in quanto contiene applicazioni che mai
uso, o per cui dispongo di un'alternativa migliore? Per esempio odio le app di Gmail e Email,
preferendo il client MyMail, o ancora non utilizzo praticamente mai "Play Movies", "Play
Edicola" ed altre applicazioni del genere. E perché dovrei avere bisogno dell'app Messaggi
quando uso Hangouts, o viceversa? Inoltre queste applicazioni molto spesso girano in
background, occupando memoria inutilmente. In questo caso abbiamo due possibilità:
1) DISINSTALLIAMO LE APP (DI SISTEMA) NON NECESSARIE
Ci vengono in aiuto moltissimi tool per questo e io mi sento in dovere di consigliarne uno in
particolare:
Lucky Patcher: L'applicazione di ChelpuS permette di compiere una miriade di
azioni (alcune legali, altre un po' meno, ma che non approfondiremo di certo in
questo topic). Tra le più utili, appunto, la disinstallazione di QUALSIASI app
presente sul nostro smartphone.
IMPORTANTE: cancellate sempre i dati dell’app da disinstallare (Lucky
Patcher>tap sull’app>elimina dati) o potreste incorrere nei
“deleted_wakelock”, wakelock causati da residui di routine di eventi eseguiti da
app disinstallate, di cui rimane traccia (vedremo più avanti cosa sono i
wakelock)
Ecco una lista di app di sistema sicure da disinstallare.
*Gmail
*Cclock
*Email e Servizi Exchange
*MusicFX
*News e Meteo
*CMHome
*Tutte le app stile Play Music, Play Movie etc..
*Earth
*Mappe
*Liquid Explorer
*Account CM
*Hangout
*Messaggi
E molte altre, il mio consiglio è di testare (backup alla mano!). Un piccolo appunto però: ho
eseguito più volte questa procedura, e può capitare che la disinstallazione forzata di
applicazioni di sistema porti alla creazione di wakelock orfani (trovate maggiori informazioni
su Internet) oltre al massiccio aumento dei wakelock di app quali Sistema Android, Servizi
Google, servizi non meglio specificati quali 1013 (Mediaserver) etc..
Se cancellando le applicazioni riscontrate questo problema, il mio consiglio è di riflashare il
pacchetto delle Google Apps e di provare la seconda soluzione.
2) CONGELIAMO TUTTE LE APP DI CUI NON ABBIAMO BISOGNO
Apriamo Lucky Patcher e premete per qualche secondo sull’app che volete congelare,
dopodiché selezionate “Freeze this package”. La funzione appena utilizzata nasconde le app
dal telefono, e queste non potranno più essere aperte/attivate fino allo scongelamento. Per
riabilitarle dovrete selezionare “Enable this Package” dallo stesso menù.
Ora che abbiamo fatto piazza pulita delle app che non ci servono, pensiamo a quelle che
invece andremo a utilizzare ogni giorno.
HO BISOGNO DI QUESTE APP ALL'AVVIO?
Molte applicazioni che installiamo acquisiscono il diritto di avviarsi quando accendiamo il
telefono. E' necessario che Facebook o la fotocamera siano nella lista di applicazioni d'avvio?
Decisamente no, poiché questo da una parte rallenta l'avvio stesso, dall'altra non è necessario
molto spesso. Ci sono due modi per rimediare a questo:
Dalla sezione Privacy Guard (scorrere giù nella guida per maggiori
informazioni) nelle impostazioni selezionate manualmente ogni applicazione,
dopodiché rimuovete il permesso "Esegui all'avvio". Questo andrà eseguito
per tutte le app che non vogliamo si avviino senza il nostro “permesso”.
METTIAMO LE APP NEL CONGELATORE (E FACCIAMOCELE RIMANERE). Greenify è un'applicazione che permette di "ibernare" i nostri programmi in modo che essi non consumino eccessivamente la batteria. Perché Greenify non rappresenti una "castrazione" per l'esperienza utente è raccomandato comprare la Donate Key e attivare il modulo per il Framework Xposed. Notate che l'ibernazione di Greenify non funziona come la disattivazione da impostazioni o il congelamento di Titanium Bakcup: l'app continuerà a funzionare come ha sempre fatto. Apriamo Greenify (dopo aver installato la Donate Key e il modulo Xposed Framework), e andiamo in "funzioni sperimentali", qui attiviamo tutte le impostazioni disponibili: tra queste ci
sono quelle che permetteranno di ibernare le app di sistema e di mantenere le notifiche, in modo da non perdere le funzioni di app come Facebook o G+. Da qui il procedimento è molto semplice: cliccate il tasto "+" di Greenify e ibernate tutte le app del vostro cellulare. Prestate particolare attenzione alle app di sistema, alcune sono rischiose da ibernare. Ecco una lista di app di sistema che è sicuro ibernare:
Google + Hangouts Maps Chrome Fotocamera Gestore Temi Google Play Games (e tutte le Google Play apps come "Play Libri", "Play Edicola"
etc..) Torcia Youtube Galleria Foto
E’ sconsigliato ibernare app come Facebook Messenger, Whatsapp o Telegram poiché spesso la ricezione delle notifiche viene comunque compromessa Ma siamo sicuri che Greenify non danneggi l'esperienza utente? In una parte minima in realtà si: l'app non perderà nessun dato con l'ibernazione ma una volta riaperta dovrà essere ricaricata. Inutile dire che su un QuadCore da 2.5Ghz il tempo di attesa è ridicolo. Mi è stato fatto notare da diverse persone che alcune app (Facebook, Messenger, Whatsapp etc..) non riescono a sfruttare la funzione di mantenimento notifiche di Greenify, in alcuni casi tutte assieme, in alcuni casi solo alcune app. Questo sembrerebbe dovuto al fatto che questa funzione è riservata alle app che utilizzano il GCM (Google Cloud Messagging) come servizio per la ricezione di notifiche push, che alcune app sembrano non condividere. BLOCCHIAMO DEFINITIVAMENTE UN'APPLICAZIONE (A.K.A Taglio del percoro di risveglio) Greenify consente un'ulteriore metodo di ibernazione che ci permette di impedire sistematicamente il risveglio di un'app. Questa funziona si rivela estremamente utile quando
con tutte le ottimizzazioni del mondo quella particolare app continuerà comunque a risvegliarsi, oppure semplicemente per arrestare definitivamente app che preferiamo siano "sveglie" solamente quando le stiamo attivamente usando.Avvertimento: questa procedura (fino a disattivazione) bloccherà permanentemente ogni notifica e il 90% dell'integrazione dell'app col multitasking ogni qualvolta che questa verrà chiusa. Andate su Greenify e nella schermata delle app ibernate guardate quelle che attualmente sono attive nonostante siano nella lista di ibernazione. Selezionatene una e verificate, in basso, la presenza di un pulsante a forma di forbici, premetelo e ignorate i messaggi di avviso insistendo sull'ibernazione. Avete appena bloccato il percorso di risveglio di quell'applicazione. Procedete con tutte le altre app. Si ricorda che questa funzione è ancora sperimentale e potrebbe non essere disponibile per tutte le app, o non funzionare correttamente. Come funziona l’ibernazione estrema? Adesso quando l’app verrà ibernata/terminata questa non potrà più avviarsi fino a quando non lo faremo noi. Questa funzione è molto utile anche per il discorso wakelock, infatti blocca senza dubbio ogni wakelock causato dall’app (vedremo più avanti cosa sono i wakelock). Un’ultimo appunto: per il funzionamento completo di Greenify andate in Impostazioni>Sicurezza>Amministratori Dispositivo e abilitate l’app. Fate lo stesso in Impostazioni>Accessibilità LIMITIAMO IL BATTERY DRAIN TRAMITE PRIVACY GUARD Fin'ora abbiamo limitato le applicazioni che girano all'interno del nostro terminale ibernandole e assicurandoci che lo rimangano a lungo. Ci siamo chiesti, però, effettivamente se tutto quello che possono fare le applicazioni quando girano sia necessario? E' necessario che quasi tutte le applicazioni possano reperire la nostra posizione o accedere ai nostri contatti? Ma soprattutto che possano tenere attivo il terminale? Ringrazio l'utente @sambaeallegria per avermi ricordato l'efficentissima funzione Privacy Guard: trattasi di una sezione (che prende a volte nomi alternativi quali App Ops. / Op. App. o simili) che ci permetterà di gestire i più comuni permessi a cui accedono le nostre applicazioni. In particolare ci dedicheremo ai permessi a mio parere più dispendiosi: Posizione, Risveglia e Tieni Sveglio; notiamo che il terzo permesso non indica il “tener sveglio” il cellulare a livello di processore, ma di display: Mantieni attivo è lo stesso permesso che usa, per esempio, l’app Fotocamera per non far spegnere lo schermo durante la registrazione video. “Risveglia” invece farà uscire il terminale
dal Deep Sleep. La sezione Privacy Guard è molto semplice da usare: ci basterà recarci al suo interno, selezionare un'applicazione (in alcune versione è necessario andare in Avanzate per visualizzare il resoconto completo) e togliere la spunta dal permesso che riteniamo inutile. Attenti però: su Android L non tutte le app sono gestibili come su KK.
Addestramento di Privacy Guard: alcune versioni di Privacy Guard permettono solamente di togliere la spunta dal permesso di un’app, altre hanno le opzioni “consenti” “nega” e “chiedi sempre”. Quest’ultima funzione è molto utile in quanto applicandola per tutte le applicazioni del terminale sarete informati ogni volta che un’app richiede di accedere ad un particolare dato tramite un’apposita finestra. Risulta così molto più semplice capire come le app chiedono i permessi e quali di questi sia inutile dargli. Rimarrete sorpresi da giochi che chiedono di sapere la vostra posizione quando il cellulare non sta facendo nulla. ATTENZIONE: non usate questo “addestramento” su app di sistema quali UI di Sistema o Impostazioni. Ricordate che queste ultime richiedono anche l’uso del touchscreen, potreste trovarvi a fare un factory reset molto prima di quanto pensiate.
Il wifi non funziona più? E' bene sapere che Android filtra attraverso il permesso "Posizione" la ricerca del wifi. Se per esempio rimuovete il suddetto permesso all'app Impostazioni, non sarete più in grado di scannerizzare per nuove reti (fino a quando non ripristinerete il processo). Il mio consiglio è quindi di non rimuovere da app che ricercano reti wireless questo permesso.
STEP SPERIMENTALI
Richiede il root? Si Richiede lo sblocco del bootloader? No CONTROLLO SUI WAKELOCK
Questo e i successivi passaggi sono sperimentali. Procedi a tuo rischio e pericolo. L'autore della guida non si assume nessuna responsabilità per crash, freeze, soft brick, hard brick o altri inconvenienti derivanti da questo o altri passaggi della guida. Uno strumento potenzialmente distruttivo per la batteria del nostro terminale sono i wakelock:
si tratta di specifiche procedure che tengono sveglio il cellulare anche a schermo spento,
impedendogli di andare in deepsleep. Facebook rilascia wakelock per farvi ricevere le notifiche
in tempo reale. Idem per Whatsapp. Idem per Google Plus. Idem per qualsiasi app che
supporti le notifiche push. Altre app utilizzano i wakelock per altri motivi. Agire sui wakelock
bloccandoli ci permette di dare una drastica spinta al nostro cellulare in termini di autonomia.
Installiamo Wakelock Detector e Amplify. Una volta concessi i permessi di root ad entrambe le app (una volta attivato il modulo Xposed di Amplify, questi dovrebbe avere i permessi di root automaticamente) se non volete addentrarvi all’interno di una configurazione avanzata potete lasciare tutto così, i programmi faranno entrambi il loro dovere e dovreste notare dei miglioramenti. Nel caso non vi accontentaste (bravi), spieghiamo subito a cosa servono le due app che siamo andati ad installare: Wakelock Detector raccoglie costantemente dati sui wakelock che affliggono il terminale, inoltre nelle sue impostazioni è possibile selezionare una modalità avanzata (gratuitamente) grazie alla quale potrete vedere anche i wakelock di sistema, compresi di nomi. Amplify fa fondamentalmente la stessa cosa ma permette di limitare i wakelock. Infatti, se effettuate una donazione verso lo sviluppatore, potrete andare nelle schede “Wakelock”, “Alarms” e “Services” di quest’app e settare un tempo (in secondi) entro il quale il wakelock verrà periodicamente permesso (es timer di 60 secondi: quel wakelock o alarm verrà concesso, se ne viene fatta richiesta, ogni minuto). Settando un tempo molto alto limiterete pesantemente i wakelock, inoltre l’app contiene una (per ora modesta) libreria che vi informerà su cosa regolano certi wakelock in modo che possiate capire se il vostro cellulare potrebbe risentire o meno della sua inibizione. A questo punto diventa tutto molto semplice: basterà controllare i wakelock che più tengono sveglio il nostro terminale e, tramite qualche ricerca su Google e Amplify, andare a limitarli per riguadagnare subito una buona parte dell’autonomia del nostro terminale. Wakelock che non dovete assolutamente disattivare:
ActivityManager Launch: wakelock di sistema che se bloccato porta ad estesi malfunzionamenti del sistema.
*vibrator*: se bloccato compromette la vibrazione del telefono WifiSuspend: responsabile dell’attività Wifi durante frequenti screen on/screen off. Se
disattivato porta a malfunzionamento del Wifi AudioOffload: se bloccato il dispositivo non sarà più in grado di riprodurre audio a
schermo spento AlarmManager: se bloccato un qualsiasi evento pianificato (sveglie etc..) smetterà di
funzionare
TimedEventQueue: se bloccato Android non sarà più in grado di gestire più di un’azione contemporaneamente (il cellulare potrebbe diventare inutilizzabile)
Hangouts_rtcs: se bloccato Hangout non funzionerà più WindowManager: se bloccato le app non potranno più essere aperte AudioIn: se bloccato la funzione “Ok Google” non potrà più funzionare
RISPARMIARE BATTERIA CON L'UNDERVOLTING.
Cos'è l'undervolting? E' il momento di fare modifiche più drastiche, questa volta a livello di
CPU. Essa infatti funziona (come ovviamente tutto all'interno del cellulare) grazie al voltaggio
fornitole dalla batteria del terminale. L'undervolting consiste nella riduzione di voltaggi
(suddivisi per specifiche frequenze: un maggiore clock del processore richiederà un
voltaggio più alto) allo scopo di risparmiare batteria. Meno elettricità, meno consumi,
insomma. L'undervolting è potenzialmente un buon taglio ai consumi della batteria ma
prendetelo con le pinze, è una questione molto delicata su cui non potete permettervi di
improvvisare. Il rischio è che il terminale rimanga senza sufficiente corrente per
accendersi/funzionare. E a quel punto siete fuori dalla garanzia. Prima che ve lo domandiate,
no, non andremo a disassemblare il One per modificare i voltaggi, stiamo parlando di una
modifica software, quindi quasi sempre reversibile. Introduciamo un nuovo programma che ci
aiuterà a testare i risultati raggiunti, Antutu Benchmark; questo programma contiene un test
di stabilità che ci aiuterà a capire se il nostro undervolting è andato troppo oltre. Procediamo:
Aprite il programma che usate per gestire il kernel, disattivate tutte le funzioni che riguardano l'applicazione delle impostazioni all'avvio e andate alla sezione che riguarda i voltaggi della CPU. Vi troverete davanti ad una schermata con le varie frequenze e un valore di voltaggio per ognuna di esse.NON MODIFICATE MANUALMENTE OGNI VALORE. Rischiate di apportare danni consistenti al device. Sicuramente nel programma che usate c'è un tasto globale che abbassa il voltaggio di un certo tanto per tutte le frequenze, la procedura è semplice: abbassate ogni volta di un'unità i voltaggi della CPU, aprite Antutu Benchmark e fate il test di stabilità. Se il test si conclude (il terminale non si riavvia, o non presenta artefatti visivi o altri comportamenti inaspettati) sapete che l'undervolting a quel livello è sicuro. Potete continuare ripetendo gli step fino a quando il telefono non diventa instabile (probabilmente crasherà e si riavvierà). Quando avrete raggiunto il punto di instabilità saprete che il vostro terminale è utilizzabile fino al punto immediatamente prima. Usate il terminale per un po' di
tempo sotto questi settaggi per verificare che tutto sia a posto e quando vi sentite sicuri impostati i valori all'avvio. La domanda che viene spontanea è: qual è il punto di instabilità del OnePlus One? Non c'è purtroppo una risposta, il punto varia dalle vostre impostazioni, dalle app che usate e dall'utilizzo che fate del cellulare in generale. Per questo consiglio di applicare sempre un periodo di grazia di uno o più minuti all'avvio, in modo da poter annullare tutto in caso di problemi imprevisti.
STEP EXTRA
Richiede il root? No Richiede lo sblocco del bootloader? No Avete applicato tutta la guida ma la vostra batteria ancora stenta a raggiungere l’obbiettivo che vi eravate preposti? Non avete applicato tutta la guida perché certe impostazioni proprio non andavano bene con il vostro solito uso? Oppure semplicemente la guida non vi basta e volete recuperare un po’ di autonomia extra? Questi step vanno contro la premessa principale della guida (aumentare l’autonomia senza castrare sensibilmente il device), e vi permetteranno di disattivare le funzioni maggiormente energivore di Android e delle vostre app: potrete così dare un taglio netto a determinati sprechi! Vediamo brevemente cos’altro possiamo fare
Via l’audio e feedback aptico: Impostazioni>Audio e togliete la spunta da Toni tastierino, Suoni alla pressione, Suono di blocco schermo e Vibra alla pressione. Ridurrete drasticamente l’apporto di wakelock da parte di Mediaserver e risparmierete batteria.
Via Ok Google/Google Now: dall’app Ricerca Google disattivate il riconoscimento Ok Google oppure, ancora meglio, disattivate completamente Google Now. Il guadagno in quanto autonomia che ne consegue è interessante.
Via tutte le gesture a schermo spento Impostare la barra di navigazione a schermo Limitare il più possibile il timeout di retroilluminazione schermo.
FAQ (Frequently Asked Question)
Q: Perché sconsigli sia l’overclocking che l’underclocking? A: Sconsiglio l’Overclocking perché si tratta di un’operazione che incrementa il consumo della batteria in cambio di un incremento non sensibile delle prestazioni del dispositivo. Avere quei 400 MegaHertz in più nel tuo processore non lo farà andare incredibilmente più veloce di quanto non facesse già. Sono punti di vista. Per quanto riguarda l’underclocking la spiegazione è, diciamo, più complicata. Qual è il motivo per cui tu, utente x, fai underclocking? Per risparmiare batteria ovviamente, ma quali sono le premesse secondo cui pensi che abbassando il clock del processore tu possa ottenere un risparmio? Principalmente sono queste:
1) Il telefono esegue meno operazioni al secondo, quindi consuma di meno 2) Il telefono lavora ad un voltaggio più basso, quindi consuma di meno 3) il telefono sviluppa meno calore, quindi consuma di meno 4) Il telefono tocca meno frequentemente frequenze alte, quindi consuma di meno
Se queste tre condizioni valessero contemporaneamente effettivamente il risparmio sarebbe considerevole e l’underclocking rappresenterebbe uno dei punti base di questa guida. Purtroppo non è così e andiamo a vedere perché:
1) Il telefono esegue si meno operazioni al secondo, ma non meno operazioni globalmente. Se io apro Facebook a 2.5Ghz o a 1Ghz il numero di operazioni per aprire l’app sarà sempre lo stesso, perché dovrebbe andare diversamente? L’app è sempre la stessa, le componenti da caricare idem. La fate solo caricare più lentamente. Quest’ultima affermazione smonta subito il primo punto. Eseguirete meno operazioni a frequenze alte ma più operazioni a frequenze basse, eguagliando alla fine il carico di lavoro.
2) Il telefono lavora ad un voltaggio più basso, ma non così tanto più basso. Molti utenti credono , erroneamente, che il voltaggio, per esempio, della Frequenza 1Ghz sia la metà di quello della frequenza corrispondente ai 2Ghz, ma ciò non è vero. Non vi è una relazione diretta tra i due dati e potete controllarlo voi stessi. Facciamo una prova: rimuoviamo l’undervolting dal nostro processore e controlliamo i voltaggi delle due frequenze appena citate (i dati potrebbero variare leggermente causa ROM). Nel mio caso 1Ghz=815mV mentre 2Ghz=1015mV. Secondo il vostro ragionamento la frequenza 1Ghz dovrebbe prendere circa 500mV, oppure quella da 2Ghz dovrebbe richiederne più di 1600. Come vedete invece la differenza è a malapena di 200mV. Quindi non
raddoppierete la vostra autonomia, inoltre per il discorso fatto prima recupererete il voltaggio risparmiato con le operazioni svolte in più.
3) E’ vero che il telefono sviluppa meno calore a frequenze più basse, ma per il discorso del primo punto, recupererete grosso modo tutto il calore risparmiate con il maggior tempo di esecuzione.
4) La domanda che vi farò ora spesso smonta chi underclocka: ogni volta che lo fate vi assicurate di settare i parametri del governor? Se voi troncate la frequenza da 2.5Ghz a 1.5Ghz (per esempio) il governor rimane comunque configurato per i 2.5Ghz se non intervenite voi manualmente (la modifica dei parametri del governor non viene contemplata, al momento, in questa guida). Il risultato? Il telefono starà quasi costantemente sulla massima frequenza disponibile, in questo caso addirittura intensifichiamo consumi e calore.
Ma quindi l’Undeclocking è inutile? Non sempre. Se il vostro telefono presenta dei wakelock a schermo spento di cui non riuscite a liberarvi bloccare la frequenza potrebbe aiutare, anche se non enormemente. Questo perché solitamente i wakelock, pur tenendo per molto tempo il telefono attivo, si “incartano” ad eseguire la stessa operazione. Quindi eseguirla ad una frequenza alta o bassa non fa differenza. In questi casi utilizzatelo, negli altri, come visto, è inutile. Q: Perché ritieni inutili le modifiche relative all’Entropy Pool? A: Perché, come si può desumere con una ricerca su Internet, l’entropy Pool genera dati casuali quando un’app li richiede. Spesso questi dati servono per operazioni crittografiche, quindi implicano la sicurezza del telefono. App come Seeder si basano sul fatto che alcune app richiedono questi dati e rimangono “bloccate” durante la loro creazione (che richiede del tempo, affinché i dati siano sicuri e robusti e abbastanza “randomici”>P.S: i dati randomici nella realtà informatica non esistono, esistono quelli “pseudorandomici”). Incrementando l’attività dell’Entropy Pool (Seeder addirittura la “riempie” ogni secondo) i dati vengono generati più velocemente e l’app non si blocca. Peccato che così si ottengano dati molto meno sicuri. Inoltre la velocità generale che si acquisice in questi casi è dovuta al continuo riempimento dell’Entropy Pool>ossia il telefono rimane costantemente a frequenze più alte. Se volete ottenere un risultato come questo potete overclockare la vostra frequenza minima invece di spendere soldi in un’app inutile.
Q: Perderò la garanzia eseguendo il root o lo sblocco del bootloader per eseguire questa guida? A: La garanzia del OnePlus One non prevede la perdita della stessa in seguito a root, sblocco del bootloader o modding in generale, ma decade in caso di brick. Per questo raccomando di non personalizzare i passaggi senza aver prima letto completamente tutte le informazioni fornite. Q: Nella sezione “Privacy Guard” non posso gestire le applicazioni di sistema. E’ normale? A: E’ normalissimo, solitamente non è possibile. Se ti trovi su Paranoid Android puoi scaricare il modulo Xposed “AOSPA Privacy Fix” che renderà disponibili le app di sistema (puoi anche provare il modulo su altre rom ma dubito che avrà un qualsivoglia effetto), altrimenti puoi installare l’app “Android Tuner” ma è molto più complessa da utilizzare e non verrà (per il momento) trattata in questa guida. Alternativamente potrebbe darsi che il tuo Privacy Guarda nasconda queste app. Apri il menù tramite il tasto “...” e vai su Avanzate per una gestione completa. Q: Dopo aver applicato la sezione relativa a Greenify ho perso le notifiche di una o più app, come posso riottenerle? A: E’ un problema che Greenify può dare e varia da terminale a terminale. Puoi provare a degreenifizzare le app che ti danno problemi, se non dovessi riottenere le notifiche prova disinstallarle e reinstallarle (dopo un wipe cache+dati delle app). Se nemmeno questo dovesse funzionare, disinstalla e reinstalla Greenify e riapplica la guida escludendo le app che danno problemi. Ricorda che solo tramite la Donate puoi spuntare l’opzione per il mantenimento delle notifiche. Q: Dopo aver applicato la sezione relativa a Privacy Guard il WiFi ha smesso di funzionare! A: Hai tolto il permesso di Posizione all’app Impostazioni. Ripristinale e risolverai il problema. Q: Cosa cambia tra la versione completa e quella compatta della guida? A: Originariamente la versione compatta doveva essere un semplice elenco delle
impostazioni attuali in modo che ad ogni aggiornamento gli utenti non dovessero rileggere/scrollare interamente la guida. Al momento la sua pubblicazione è sospesa. Q: Quando diventeranno stabili le sezioni sui Wakelock e sull’UnderVolting? A: Mai, poiché queste operazioni sono potenzialmente rischiose e non possono essere generalizzate per ogni dispositivo. Non significa che voi non possiate applicarle o che applicarle farà esplodere il vostro smartphone. Tenete sempre traccia di ciò che modificate e un backup a portata di mano. Q: Sul mio kernel ci sono molti governor di cui non parli, perché? A: Parlare di tutti i governor disponibili (anche solo per OnePlus One) sarebbe esageratamente lungo e in effetti inutile, perché spesso di scende in tecnicismi che al lettore meno informato non interessano. Una cosa che chi legge può fare è consigliarmi kernel con cui si è trovato bene, che testerò. Q: Come mai il Boeffla Kernel non viene citato? A: Il Boeffla kernel, oltre ad avere governor particolari, ha una vera e propria app dedicata, con profili di risparmio energetico personalizzato, utilizzarlo insieme ad altre app di gestione del kernel comprometterebbe il funzionamento di entrambe le cose. E’ sconsigliata ai lettori che utilizzano il Boeffla l’applicazione della sezione sul Kernel.
A CURA DI SIMONE BALLOCCU: SI PREGA DI CITARE IN CASO DI UTILIZZO PER ALTRI PROGETTI.