Per realizzare un’app Android di buona qualità è di fondamentale importanza tener conto di una moltitudine di fattori differenti, soprattutto in seguito all’introduzione dei processori Intel x86, che vanno a configurarsi come un’architettura totalmente differente dagli ARM originariamente impiegati con la piattaforma mobile del robottino verde.
Onde evitare di andare incontro ad una situazione analoga a quella descritta, è però possibile seguire delle linee guida ed utilizzare alcuni tool appositi, partendo però dal presupposto che un’app sia stata correttamente compilata per le architetture x86.
Parallelismo e multithreading
Allo stato attuale delle cose, per i device Android vengono impiegati processori multi-core che, andando a sfruttare tutti i core disponibili, non solo sono in grado di migliorare notevolmente le prestazioni del dispositivo ma, per di più, consentono anche di risparmiare una considerevole quantità di energia utile.
Anche combinare insieme più azioni periodiche in una sola consente di risparmiare sul consumo energetico poiché si evitando inutili system call.
Inoltre, un minor numero di transizioni va a tradursi in un maggiore grado di parallelismo.
Ottimizzazione del codice
Un modo sicuramente valido per sfruttare a fondo tutte le potenzialità dell’architettura Intel x86 è quello di impiegare istruzioni vettoriali che permettono di effettuare azioni comuni in un minor quantitativo di tempo e con meno spreco di energia.
Limitazione dell’uso della memoria
Limitare l’uso della memoria permette di contenere il consumo energetico delle app attive. Evitare le conversioni di formati grafici che non sono necessarie, cercare di mantenere in cache le strutture dati usate con maggior frequenza e ridurre lo spostamento dei dati tra il kernel space o lo user space, può quindi rivelarsi molto utile in tal senso.
Tecnologie ad hoc
I processori Intel x86 offrono la possibilità di utilizzare alcune interessanti tecnologie che si prestano a numerose applicazioni. È questo il caso di Intel WiDI che, così come dimostra l’app Grace, consente di connettere un dispositivo ad un monitor esterno senza dover ricorrere all’utilizzo di cavi.
Intel mette inoltre a disposizione dei developer HAXM (Hardware Accelerated Execution Manager), un hypervisor che sfrutta la tecnologia Intel VT-x per migliorare la virtualizzazione dell’emulatore ed aumentarne le prestazioni.
Da prendere in seria considerazione è sicuramente anche l’utilizzo di Intel INDE, un tool pensato in maniera specifica per aiutare gli sviluppatori ad adattare le proprie applicazioni ad una maggior varietà di architetture. Mediante un’unica interfaccia Intel INDE permette infatti di eseguire il setup dell’ambiente di sviluppo andando ad includere in modo del tutto automatico compilatori sia per le architetture ARM sia per quelle x86.