Ricerca in FOLBlog

Velocizzare Android con uno script

 Scritto da alle 06:27 del 31/01/2012  Aggiungi commenti
Gen 312012
 
closeQuesto articolo è stato pubblicato 5 anni 6 mesi 22 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi. Questo sito non è responsabile per eventuali errori causati da questo problema.

image

N.B.:

Questo articolo è rivolto ai possessori di un device con Android Ginger Bread (2.3.x). Coloro che possiedono un device con Android ICS (4.0.x) o Jelly Bean (4.1.x), possono seguire le istruzioni riportate in quest’altro articolo.

Molti, per velocizzare il proprio terminale Android, ricorrono all’utilizzo dei famigerati task killer, quella tipologia di programmi, cioè, che hanno il compito di liberare la memoria terminando parte dei processi in esecuzione.
Il problema è che queste apps spesso agiscono sui processi in esecuzione in maniera indiscriminata.

Un task killer diviene utile solo se configurato a puntino (quando le possibilità di personalizzazione dell’app lo consentono), cosa che presuppone una conoscenza più che superficiale di come funziona Android e di come gestisce la memoria.
Lasciate operare a casaccio, come fa la maggior parte degli utenti, il loro comportamento è invece quasi sempre controproducente: il sistema riavvia quei processi appena terminati perché magari sono condivisi tra più apps.
Può anche accadere che il processo venga terminato mentre è in corso una sua attività, generando errori dell’applicazione o “scattosità” causati dalla necessità del suo immediato riavvio e che, erroneamente, si attribuiscono alle applicazioni in esecuzione.
In questi casi, questo continuo termina/riavvia processi imposto dai task killer, determina anche un maggior consumo della batteria, rendendoli inutili anche per quello scopo.

Android ha già un suo task killer!
Perciò non abbiamo bisogno di ulteriori applicazioni ma piuttosto, eventualmente di modificarne il comportamento in base alla configurazione del nostro terminale Android, alle nostre esigenze ed i nostri gusti.

Innanzi tutto occorre sapere che il task killer di Android interviene sui processi sulla base sia di una priorità attribuita loro automaticamente in funzione del loro stato (VISIBLE_APP,FOREGROUND_APP,  SECONDARY_SERVER, HIDDEN_APP, CONTENT_PROVIDER, EMPTY_APP), sia in base alla disponibilità di memoria e sulla base di una serie di limiti di memoria minima preimpostati e modificabili.
Da questo punto di vista si comporta molto meglio dell’analogo sistema presente in Linux (di cui Android è diretto discendente).
In sostanza il task killer di Android è in grado di terminare i processo “decidendo” quali terminare in base alla combinazione di memoria disponibile e livello di priorità dei processi.
Ed è qui che i può intervenire, modificando i limiti di memoria in base a cui il task killer interviene e modificando la priorità dei processi in base ai nostri scopi.

Alcuni tools di ottimizzazione (come AutoKiller Memory Optimizer, che ho utilizzato per qualche tempo) consentono di modificare i parametri della memoria in base a cui il task killer interno interviene.
Ma spesso non riescono ad essere efficaci in quanto priorità dei processi e impostazione ottimale dei limiti di memoria variano a seconda del device e della versione di Android.

Per fortuna in quella miniera di informazioni utili che è XDA Developers, ho scoperto che esiste chi ha messo a punto uno script (V6_SuperCharger_for_Android) che, su terminali in cui si sono ottenuti i permessi di root,  è in grado di ottimizzare i limiti di memoria ed intervenire sulla priorità assegnata al processo che maggiormente è in grado di restituire la sensazione di fluidità: il launcher.

Lo script consente di configurare le soglie di memoria raggiunte le quali il task killer interviene in modo da avere più RAM libera, che viene sottratta ad applicazioni inutili in un dato momento.
Il rischio che si corre impostando dei valori di memoria troppo aggressivi, è che uno dei primi processi ad essere terminato dal task killer sia il launcher; per questo motivo lo script lo imposta come processo a priorità massima (che sono quelli a cui per ultimi il task killer rivolge la propria attenzione).
Per come è stato realizzato, funziona e svolge il proprio compito su qualsiasi dispositivo Android, smartphone o tablet che sia.

E’ possibile utilizzare una delle configurazioni preimpostate, basate sull’ammontare complessivo di RAM a disposizione sul device, ma anche modificare manualmente i singoli valori, possibilità che sarà certamente molto apprezzata dai più esperti.

Vediamo cosa ci serve per poter sfruttare questo script:

  1. Diritti di root sul device Android.
  2. Busybox 1.16.2 o superiore.
    Per installare BusyBox, installate sul device Android l’app BusyBox Installer, scegliete la versione di BusyBox da installare e tappate sul pulsante Install
    capture_02
  3. L’app Script Manager, che va installata sul device Android e che serve ad eseguire script.
  4. Lo script V6 Supercharger RC5 va scaricato e copiato sul device Android.
    Per scaricarlo, fate click col tasto destro del mouse, scegliete salva oggetto con nome (o analogo) e salvate quello che sembra un file PDF in una cartelle del PC.
    Prima di copiarlo in una cartella sul device Android (ho fatto un’apposita cartella “script”), rimuovete l’estensione .pdf in modo che il file abbia questo nome:
    V6_SuperCharger_for_Android-Update9_RC5.2.sh
    Lo script è l’ultima versione nel momento in cui scrivo (è la versione del 29/01/2012); qui potete verificare se esiste un eventuale versione più recente.

Importante.
Prima di proseguire, occorre disabilitare l’opzione forza home in memoria/lock home in memory (o analoga) presente in alcuni launcher.

Se usate Go Launcher EX andate in Menù->Preferenze->Impostazioni Avanzate e rimuovete il segno di spunta dalle opzioni Persistente nel Sistema e Evita la chiusura forzata (queste cose le facciamo fare allo script Occhiolino)
image

Se invece il vostro launcher è ADW Launcher:
Menù->Altro->ADWSettings-Preferenze Sistema e rimuovete il segno di spunta dall’opzione Persistente nel Sistema

Nei launcher Launcher PRO, Nemus Launcher, SPB Shell 3D e nel launcher di default (Touchwiz) dei Samsung Galaxy non ho trovato opzioni analoghe.

Ora siamo pronti a lanciare lo script….

  1. Avviate l’app Script Manager; al primo avvio compare la seguente schermata:
    image
    Premete su Browse as root, flaggate l’opzione Do not ask again e premete il pulsante OK.

Ora comparirà l’elenco delle cartelle e dei file presenti sul device Android.
Cercate lo script V6_SuperCharger_for_Android-Update9_RC5.2.sh; se avete seguito il mio consiglio al punto 4, lo avete salvato in una cartella apposita.
image

  • Fate tap sul file dello script.
    Comparirà la seguente schermata:
    image
    Qui dovete selezionare l’esecuzione come Super User (Su) e tappare su Rune lo script inizierà la sua esecuzione.Non lasciatevi spaventare dalla verbosità dello script e leggete attentamente le scritte.
    Cercherò di guidarvi passo passo.
    La prima cosa che vi chiederà è se il vostro launcher è “locked in memory”.
    Tappate sullo schermo per far comparire la tastiera virtuale[1];
    scrivete n e e poi premete il tasto invio imagesulla vostra tastiera virtuale.Prima del menù vero e proprio dello script, vi verranno chieste cose come la velocità di scrolling dello script (scegliete fast digitando 1 e invio); se si desidera utilizzare build.prop anziché local.prop(scegliete build.prop digitando b) e se si desidera rinunciare alle animazioni V6 (premete direttamente il tasto invio)SC20120129-103901Ad un certo punto, finalmente verrà visualizzato il menù dello script, con le varie opzioni numerate da 1 a 31.
    image
    Ho evidenziato le opzioni che probabilmente interessano maggiormente.
    Innanzi tutto, in base alla RAM disponibile sul vostro device (sul Samsung Galaxy S2 ed il Galaxy Note è 1GB), scegliete il tipo di ottimizzazione desiderata, selezionando le voci da 2 a 9.
    Per il Galaxy S2 od il Galaxy Note scegliete senza indugio la numero 9 Sorriso.
    Per device con meno memoria, consiglio di fare delle prove: partite da valori più aggressivi (Super UL) e riduceteli se il comportamento del vostro device non vi soddisfa.Prima di scegliere il tipo di ottimizzazione è consigliato procedere alla pulizia della cache (Dalvik cache).
    L’operazione viene proposta in automatico se si tratta della prima volta che si utilizza lo script; negli altri casi meglio procedere prima con l’opzione 30 e poi scegliere il tipo di ottimizzazione (voci da 2 a 9).

    Nell’immagine ho evidenziato delle aree con un riquadro giallo.
    La prima mostra l’impostazione corrente per i valori minfree, prima dell’esecuzione dello script, e l’impostazione che risulterà dopo aver eseguito lo script (nel mio caso avevo già eseguito lo script in precedenza perciò i due valori coincidono).
    Con il secondo riquadro ho evidenziato le scritte che dimostrano come lo script abbia correttamente rilevato la RAM del Galaxy Note e consigli di utilizzare le impostazioni previste per 1000 HP.

    Dopo aver applicato le opzioni di ottimizzazione della RAM (che sono attive immediatamente) è possibile optare per due ulteriori ottimizzazioni: la voce 12 (OOM Grouping Fixes + Die-Hard Launcher) tenta di rendere ancora più agile il launcher, mentre con la voce 20 (Nitro Lag Nullifier) si tenta di rimediare ai lag dell’interfaccia.

    La voce 26 (Driver Option) consente di impostare alcuni parametri dello script (alcuni dei quali vi vengono chiesti ad ogni avvio).

    L’opzione 10 (Quick V6 cust-OOMizer) è riservata ai più esperti e consente di personalizzare i valori che invece sono preimpostati scegliendo una delle opzioni dalla 2 alla 9.

    L’opzione 17 (BulletProof Apps) consente di selezionare applicazioni/processi che il task killer deve evitare di chiudere; anche qui è meglio che a metterci le mani siano solo gli utenti che sanno quel che fanno; il rischio è di stravolgere il comportamento dello script vanificandone gli effetti.

    Le voci 14 e 15 servono per annullare le modifiche apportate dallo script.

 

Rendere permanenti le modifiche.
Le impostazioni ed i tweaks dello script sono immediatamente efficaci, ma si perdono ad ogni riavvio del device.
V6 SuperCharger si preoccupa di generare automaticamente un ulteriore script che serve a reimpostare le opzioni dello script, senza dover fare tutto daccapo.
Lo script in questione (99SuperCharger.sh) si trova nella cartella ../V6_SuperCharger e può essere utilizzato in due modi:
si può creare un widget con il collegamento allo script, in modo da poterlo eseguire su richiesta, oppure si può impostare in modo che venga eseguito automaticamente ad ogni riavvio del device.
Per farlo, eseguite Script Manager, selezionate lo script 99SuperCharger.sh ed impostate l’esecuzione come Super User (SU), al Boot e premete Run.
SC20120129-110542

In questo modo le impostazioni scelte con lo script verranno automaticamente riapplicate ad ogni riavvio.

Mi rendo conto che nonostante l’enorme sforzo dell’autore dello script per rendere queste impostazioni alla portata di tutti, la materia è ostica e potrebbe spaventare l’utente medio.

Personalmente ho utilizzato questo script sia sul Samsung Galaxy S2 che sul Samsung Galaxy Note e devo dire che un miglioramento c’è stato (anche se entrambi erano già veloci e fluidi; il Note soprattutto dopo l’ultimo aggiornamento e l’installazione del launcher SPB Shell 3D, il Galaxy S2 da sempre).
Ma ho letto commenti molto più entusiastici di altri utenti, che addirittura affermano che è come avere uno smartphone nuovo!

Provate, è meno complicato di quel che sembra e, a patto di non avventurarsi in personalizzazioni senza aver ben chiaro quel che si sta facendo, non si rischia nulla; in ogni caso si può sempre tornare alla situazione precedente.


[1] A volte facendo tap sullo schermo la tastiera virtuale non compare.
E’ un difetto segnalato da alcuni e che io stesso ho sperimentato sul mio Galaxy Note.
A volte basta ruotare il device Android in modalità landscape (orizzontale) per poi tornare nella posizione originale per risolvere il problema.
Altrimenti occorre interrompere lo script (premendo prima il tasto Kill e poi Close) e rilanciarlo.


[2] Se con questa impostazione doveste riscontrare dei problemi, poco male: terminate lo script (Kill e Close) e riavviatelo scegliendo local.prop (è sufficiente premere invio alla richiesta)

Articoli simili:

  • Facebook
  • Twitter
  • Delicious
  • StumbleUpon
  • Wikio
  • Reddit
  • Technorati
  • Segnalo
  • Live
  • Add to favorites
  • Email
  • RSS

 Lascia un commento

Puoi usare questi tag e attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(richiesto)

(richiesto)

Pinterest
EmailEmail
PrintPrint
%d blogger hanno fatto clic su Mi Piace per questo: