Assicurati che la tua app offra un'interfaccia utente interattiva che risponda rapidamente all'input utente e, se necessario, compensi un avvio lento. Assicurati che la tua app sia progettata in modo da essere facilmente localizzata accettando le variazioni tra le lingue: presta attenzione a spaziatura, densità, ordine, enfasi e variazioni di parole. Assicurati inoltre che data, ora e altre unità siano internazionalizzate e visualizzate in base alle impostazioni del telefono.
Interfaccia utente veloce e reattiva
La percezione dell'utente delle prestazioni dell'app dipende in gran parte dalla sua reattività. Ad esempio, l'interazione con l'utente e un display nitido sono due caratteristiche importanti di un'app dalle prestazioni elevate. Qui puoi trovare suggerimenti su come ottimizzare questi e altri aspetti relativi alla velocità e alla reattività di un'app.
Feedback al tocco su tutti gli elementi toccabili
- Il feedback al tocco aggiunge un tocco tattile all'interfaccia utente. Devi assicurarti che l'app fornisca feedback al tocco su tutti gli elementi toccabili per ridurre il più possibile la latenza percepita dell'app.
- L' interazione adattabile incoraggia un'esplorazione più approfondita di un'app creando reazioni dello schermo tempestive, logiche e piacevoli agli input utente. L'interazione reattiva porta un'app da un servizio di invio di informazioni a un'esperienza che comunica attraverso più risposte visive e tattili.
- Per ulteriori informazioni, consulta la formazione Android sulla personalizzazione del feedback al tocco.
La UI deve essere sempre interattiva
- Le app che non rispondono durante l'esecuzione dell'attività in background sono lente e riducono la soddisfazione degli utenti. Assicurati che la tua app abbia sempre una UI adattabile, indipendentemente dalle attività in background. Per farlo, esegui operazioni di rete o operazioni gravose in un thread in background: mantieni il thread dell'interfaccia utente il più inattivo possibile.
- Le app di material design utilizzano modifiche visive minime durante il caricamento dei contenuti, rappresentando ogni operazione con un singolo indicatore di attività. Evita di bloccare le finestre di dialogo con indicatori di caricamento.
- Gli stati vuoti si verificano quando una visualizzazione non ha contenuti da mostrare. Potrebbe essere un elenco senza elementi o una ricerca che non restituisce risultati. Evita stati vuoti usando contenuti iniziali, didattici o con corrispondenza migliore. Quando queste opzioni non sono applicabili, visualizza un'immagine non interattiva e uno slogan di testo che indichi all'utente cosa vedrà se c'è qualcosa da mostrare.
- Per ulteriori informazioni, consulta il corso di formazione Android su come mantenere la tua app reattiva.
Scegli come target 60 frame al secondo su dispositivi a basso costo
- Assicurati che la tua app funzioni sempre velocemente e senza interruzioni, anche su dispositivi a basso costo.
- L'overdraw può rallentare notevolmente l'app, poiché si verifica quando i pixel vengono disegnati più di una volta per passaggio. Un esempio è quando hai un'immagine con un pulsante sopra. Sebbene sia inevitabile un overdraw, questo dovrebbe essere ridotto al minimo per garantire una frequenza fotogrammi regolare. Esegui il debug dell'overdraw della GPU sulla tua app per assicurarti che sia ridotto al minimo.
- I dispositivi Android aggiornano lo schermo a 60 frame al secondo (f/s), il che significa che l'app deve aggiornare lo schermo entro circa 16 millisecondi. Profila la tua app con strumenti on-device per vedere se e quando la tua app non soddisfa questa media di 16 ms.
- Riduci o rimuovi le animazioni sui dispositivi a basso costo per alleggerire il carico di CPU e GPU del dispositivo. Per maggiori informazioni, consulta la pagina Migliorare le prestazioni del layout.
- Una gerarchia di visualizzazioni efficiente può velocizzare la tua app senza aumentarne l'utilizzo di memoria. Per maggiori informazioni, consulta la pagina relativa alle gerarchie di prestazioni e visualizzazione.
Usa una schermata di avvio in modalità lenta per avviare le app
- La schermata di avvio è la prima esperienza che l'utente ha con l'applicazione. La visualizzazione di una tela vuota durante l'avvio dell'app aumenta la percezione del relativo tempo di caricamento, quindi valuta la possibilità di utilizzare un'interfaccia utente segnaposto o una schermata di lancio con brand per ridurre il tempo di caricamento percepito.
- Un' interfaccia utente segnaposto rappresenta la transizione di lancio più fluida, appropriata sia per l'avvio di app sia per le transizioni delle attività in-app.
- Le schermate di lancio con brand offrono un'esposizione temporanea del brand, consentendo all'interfaccia utente di concentrarsi sui contenuti.
- Il modo migliore per affrontare velocità iniziali basse è non averle. Prestazioni al momento del lancio fornisce informazioni che possono aiutarti ad accelerare i tempi di lancio dell'app.
Best practice per l'interfaccia utente
- Il material design è un linguaggio visivo che sintetizza i principi classici di un buon design con l'innovazione e le possibilità offerte dalla tecnologia e dalla scienza. Il material design fornisce un singolo sistema sottostante che consente un'esperienza unificata su piattaforme e dimensioni di dispositivi diverse. Valuta la possibilità di utilizzare componenti chiave di Material Design in modo che gli utenti sappiano intuitivamente come utilizzare la tua app.
- I componenti pronti all'uso di Material Design sono disponibili nella libreria di supporto Material Design. Questi componenti sono supportati in Android 2.1 (livello API 7) e versioni successive.
Localizzazione
- I tuoi utenti potrebbero provenire da qualsiasi parte del mondo e la loro lingua potrebbe non essere la tua. Se non presenti la tua app in una lingua che gli utenti possono leggere, è un'opportunità persa. Dovresti quindi localizzare la tua app per le lingue principali delle regioni.
- Per saperne di più, consulta il corso di formazione Android sul supporto di diverse lingue e consulta l'elenco di controllo per la localizzazione.
- A partire da Android 7.0 (livello API 24), il framework Android rende disponibile un sottoinsieme delle API ICU4J, che possono aiutarti a localizzare la tua app in più lingue. Per maggiori informazioni, consulta la pagina relativa alle API Android Framework ICU4J.
Risorse aggiuntive
Per saperne di più su questo argomento, consulta le seguenti risorse aggiuntive: