Per chi programma su Android sicuramente potrebbe tornare comodo utilizzare l'emulatore AVD (Android Virtual Device) che permette non solo di non dover continuamente installare e disinstallare le App sul nostro cellulare ma anche di testare diversi dispositivi e di poter accedere direttamente al LogCat e alla possibilità di debug che unito a Eclipse forniscono sicuramente un ottimo modo di lavorare.
Per quanto mi riguarda ho provato un paio di soluzioni su internet che elenco brevemente:
- Utilizzo di PC con 16GB di RAM
- Utilizzo di SSD per migliorare il caricamento della VM
- Utilizzo della modalità Snapshot
- Utilizzo della modalità GPU accelerata (che però è esclusiva rispetto allo Snapshot)
- Utilizzo di CPU di tipo x86 (quindi Atom)
- Utilizzo di VirtualBox
Ma dopo diversi tentativi (a parte i primi due che volevo evitare) alla fine ho ottenuto quello che per me è una soluzione molto buona nel seguente modo:
- Utilizzo di un RAM drive (o RAM disk che dir si voglia)
Per chi non avesse dimestichezza con questi applicativi di fatto - facendola molto breve - riservano una parte della RAM e la rendono disponibile come una partizione accessibile proprio come una chiavetta o un piccolo hdd ma con la caratteristica di essere performante in tutto e per tutto come la RAM quindi velocità molto alte (per maggiori informazioni vi rimando alla ormai ottima RAMDisk | wikipedia).
Questa modalità è usata anche da alcuni gamers o da chi utilizza applicativi davvero pesanti e che soprattutto facciano largo uso del nostro HDD. Una volta identificata la soluzione ho quindi cercato un applicazione che mi permettesse di gestire questo RAMDisk e ho trovato Dataram RAMDisk che vi consiglio caldamente di provare.
L'installazione è immediata, e il pacchetto da scaricare pesa poco più di 2M. La versione a uso personale ha un limite di 4GB mentre quella a pagamento che ovviamente risulta sbloccato costa sui 15€ circa. Per ora mi trovo molto bene con la personale.
Ecco la mia configurazione, ma vedrete che è davvero facile ma al contempo ben fornito di possibilità.
Il resto l'ho lasciato tutto uguale tranne una spunta che ho messo nell'ultima pagina alla voce "Clear RAMDisk memory on exit".
Ora resta un punto: come faccio a spostare l'AVD sul disco RAM appena creato?
Semplice, basta fare così..
1° Soluzione
- Create un AVD normalmente (io l'ho chiamato AVDTEST), se ne avete già uno passate al punto successivo
- Andate nella cartella dove avete salvato gli AVD (se non lo sapete niente paura aprite in Eclispe l'AVD Manager e leggete nel primo tab la directory usata .. poco sopra l'elenco dei AVD confiugrati)
- Andate nella cartella (normalmente simile a C:\Users\
\.android\avd) - Nella cartella avete un file AVDTEST.ini e una cartella AVDTEST.avd, bene copiate la cartella sul RAM Disk (mi raccomando a non fare sposta, per sicurezza)
- Aprite il file ini associato (nel mio caso AVDTEST.ini)
- Modificate il path dell'avd (es. da path=C:\Users\
\.android\avd\AVDTEST.avd a path=E:\AVDTEST.avd). Non toccate path.rel o le altre voci, non è necessario.
Oppure una soluzione alternativa e definitiva (quella precedente soffre di problemi nel riavvio delle AVD è quello di specificare una nuova locazione come variabile d'ambiente, ossia:
2° Soluzione
- Tasto destro sull'icona "My Computer" o "Computer" e premete su "Proprietà"
- Andate sulla schead (tab) "Avanzate" e premete sul pulsante "Variabili d'ambiente"
- Aggiungete una nuvoa variabile di sistema se volete farla veder a tutti gli utenti dove mettete come nome variabile ANDROID_SDK_HOME mentre come valore il percorso voluto compresa la barra finale (es E:\).
- Se avete Eclipse aperto dovete hiedere tutte le AVD che avete e riavviarlo
Nota: Personalmente avevo iniziato con la prima soluzione ma alla fine ho abilitato RAMDisk a prepararmi in automatico la partizione all'avvio e a caricarmi l'immagine del disco al riavvio del pc.
Per dare qualche numero anche se non l'ho misurato nel dettaglio son passato da diversi minuti del caricamento a pochi secondi (AVD x86 Atom con allocati 768M di RAM) e una fruibilità delle App installate e delle gesture fatte col mouse davvero incredibili.
Finalmente, basta attese inutili!! AVD è tornato più veloce che mai.
Collegamenti esterni: RAMDisk (Wikipedia) | Dataram RAMDisk