Tre Soluzioni per Far Consumare di Meno le App Android

Save-android-battery-life

Siamo arrivati ad un punto, nella storia della tecnologia, che senza corrente elettrica praticamente non possiamo fare più niente. Dai server, ai computer (desktop e laptop) ai dispositivi mobili, hanno tutti necessità di una riserva energetica, la sfida di oggi e di domani è e sarà quella di riuscire a fare sempre di più con sempre meno energia richiesta.

Abbiamo già parlato di come Intel abbia messo a disposizione tutta una serie di strumenti per gli sviluppatori all’interno della Intel Developer Zone, il posto ideale per gli sviluppatori che vogliono ottimizzare le applicazioni per dispositivi mobili. Ora vedremo insieme quali sfide sta cercando di vincere l’azienda di Santa Clara e quali suggerimenti fornisce agli sviluppatori iscritti al suo programma.

Mantenere alte prestazioni e bassi consumi energetici

Le capacità odierne di tutti i device in nostro possesso, soprattutto quelli mobili, stanno sempre più riducendo ai minimi termini la durata della batteria. Per quanto riguarda quindi lo sviluppo dei dispositivi Android e delle applicazioni relative, Intel mira principalmente ad una massima ottimizzazione dei software per il risparmio necessario.

In generale, le aspettative degli utenti Android sono che la batteria dei loro dispositivi sia in grado di durare almeno per una giornata, facendoli chiamare, inviare messaggi, navigare e usare le loro applicazioni preferite per tutto il giorno.

Le aspettative sono molto difficili da soddisfare quando gli utenti non si rendono conto che la maggior parte delle applicazioni che utilizzano, ogni giorno, non sono ottimizzate per il risparmio energetico, anzi la maggior parte di esse tende a sprecare la batteria in modo assolutamente non necessario.

Intel è convinta che questo problema possa essere quantomeno arginato apportando miglioramenti lato software per fare in modo che consumi meno elettricità. Vediamo insieme i suoi suggerimenti, di sicuro interesse per chiunque abbia deciso di cimentarsi almeno una volta nello sviluppo della propria applicazione android.

1. Parallelismo e multithreading

Intel_300x250-DeveloperZoneLe applicazioni consumano molta batteria perché effettuano davvero tante chiamate al sistema, anche solo per la sincronizzazione e l’aggiornamento. Oggi i dispositivi Android utilizzano processori multi-core, un modo veramente semplice di ottimizzare il consumo della batteria sarebbe quello di progettare le applicazioni perché utilizzino simultaneamente più core per effettuare azioni diverse e per aumentare il parallelismo dei flussi.

In questo modo le azioni simultanee saranno svolte in meno tempo e, quindi, con un minor consumo energetico. Questi cambiamenti, insieme con l’attuazione del multithreading, possono ridurre le richieste di energia della vostra applicazione.

2. Ottimizzazione del codice usato più di frequente

Una seconda soluzione al problema degli alti consumi di batteria da parte delle app è quella di ottimizzare la scrittura dei codici più utilizzati, così da riuscire a velocizzare il tutto. Un modo per migliorare questo aspetto del codice è quello di utilizzare le istruzioni vettoriali più attuali, come SSE, AVX, ecc
Queste istruzioni consentono di eseguire azioni comuni in modo rapido, ma richiedendo un consumo di energia inferiore.

3. La riduzione dell’utilizzo della memoria

La terza ed ultima soluzione che Intel suggerisce agli sviluppatori iscritti al suo programma è quella di ottimizzare l’utilizzo della memoria nelle applicazioni attive. Per ridurre l’utilizzo della memoria è necessario:

  • Evitare grafiche non necessarie o conversioni di formato (ad esempio, la conversione da YUV a RGB e viceversa) per accedere alla GPU e CPU,
  • L’utilizzo frequente di cache di dati,
  • Limitare la quantità di scambio dati tra kernel space e user space,

Avete mai provato a sviluppare un’app per Android? Siete già iscritti all’Intel Developer Zone? Fateci sapere nei commenti quale soluzione trovereste voi per limitare i consumi, senza perdere le performance..

© 2008 Ziogeek.com

No tag for this post.