IU e conteúdo para bilhões

Seu app precisa oferecer uma IU interativa que responda rapidamente à entrada do usuário e, se necessário, compense uma inicialização lenta. Ele deve ser desenvolvido de modo a facilitar a localização, acomodando as variações entre os idiomas: permita variações de espaçamento, densidade, ordem, ênfase e escolha de palavras. Garanta também que dados como data, hora e outras unidades sejam internacionalizados e exibidos de acordo com as configurações do smartphone.

Interface do usuário rápida e responsiva

A percepção do usuário sobre o desempenho é formada, em grande parte, pela capacidade de resposta do app. Por exemplo, duas características importantes de um app com alto desempenho são a interação com o usuário e uma exibição nítida. Aqui, você encontra dicas sobre como otimizar esses e outros aspectos da velocidade e da capacidade de resposta de um app.

Feedback de toque em todos os itens que podem ser tocados

  • O feedback de toque adiciona uma sensação tátil à interface do usuário. Seu app precisa fornecer feedback de toque em todos os elementos tocáveis para reduzir ao máximo a percepção de latência.
  • Uma interação responsiva (link em inglês) incentiva a exploração mais aprofundada de um app, gerando reações rápidas, lógicas e agradáveis na tela quando o usuário executa uma ação. Esse tipo de interação faz com que um app deixe de ser apenas um serviço que entrega informações e passe a oferecer uma experiência em que há comunicação por diversas respostas visuais e táteis.
  • Para saber mais, acesse o treinamento do Android sobre como Personalizar feedback de toque.

A IU precisa ser sempre interativa

  • Apps que não respondem quando estão executando tarefas em segundo plano aparentam ser lentos e diminuem a satisfação do usuário. A interface do seu app precisa ser sempre responsiva, independentemente das tarefas em segundo plano. Isso pode ser feito realizando as operações de rede ou qualquer operação pesada em uma linha de execução em segundo plano, mantendo a linha de execução de IU o mais inativa possível.
  • Os apps com Material Design usam mudanças visuais mínimas durante o carregamento de conteúdo representando cada operação com um único indicador de atividade. Evite o bloqueio de caixas de diálogo com indicadores de carregamento (link em inglês).
  • Os estados vazios (link em inglês) ocorrem quando uma visualização não tem conteúdo para mostrar. Pode ser que uma lista não tenha itens ou que uma pesquisa não retorne resultados. Evite estados vazios usando conteúdo inicial, educacional ou de melhor correspondência. Quando essas opções não forem aplicáveis, exiba uma imagem não interativa e um slogan de texto que informem ao usuário o que ele verá quando houver algo para exibir.
  • Para saber mais, acesse o treinamento do Android Como manter seu app responsivo.

Defina como objetivo 60 quadros por segundo em dispositivos de baixo custo

  • O app precisa ser sempre executado de forma rápida e fluida, mesmo em dispositivos de baixo custo.
  • O overdraw pode reduzir significativamente a velocidade do app. Isso ocorre quando os pixels estão sendo desenhados mais de uma vez por transmissão. Um exemplo disso é quando você tem uma imagem com um botão sobre ela. Embora não seja possível evitar alguns overdraws, eles precisam ser minimizados para garantir um frame rate eficiente. Faça isso usando a opção Depurar overdraw da GPU no seu app.
  • Os dispositivos Android atualizam a tela a uma taxa de 60 quadros por segundo (qps), o que significa que seu app precisa atualizá-la em até cerca de 16 milissegundos. Crie um perfil para seu app usando as ferramentas no dispositivo para ver se o app não está atingindo essa média de 16 ms e quando isso ocorre.
  • Reduza ou remova animações em dispositivos de baixo custo para diminuir a sobrecarga da CPU e da GPU do dispositivo. Para saber mais, consulte Melhorar o desempenho do layout.
  • Uma hierarquia de visualização eficiente pode deixar o app mais rápido sem aumentar a quantidade de memória exigida. Para saber mais, consulte Hierarquias de desempenho e visualização

Usar uma tela de inicialização lenta para iniciar apps

  • A tela de inicialização é a primeira experiência de um usuário com seu aplicativo. Exibir uma tela em branco na inicialização do app aumenta a percepção do tempo de carregamento. Por isso, recomendamos usar uma IU de marcador ou uma tela de inicialização com a marca para diminuir essa percepção.
  • Uma IU de marcador (link em inglês) é a transição de inicialização ideal, apropriada para inicializações de app e transições de atividades no app.
  • As telas de inicialização com a marca (link em inglês) expõem a marca temporariamente, liberando a IU para que o foco esteja no conteúdo.
  • A melhor maneira de lidar com lentidão na inicialização é eliminá-la. Em Desempenho do tempo de inicialização, apresentamos informações que podem ajudar você a acelerar o tempo de inicialização do app.

Práticas recomendadas para a interface do usuário

  • O Material Design (link em inglês) é uma linguagem visual que sintetiza os princípios clássicos do bom desenvolvimento com a inovação e as possibilidades oferecidas pela tecnologia e ciência. Ele apresenta um só sistema que permite uma experiência unificada em todas as plataformas e em todos os tamanhos de dispositivo. Recomendamos usar os principais componentes do Material Design para que os usuários aprendam a usar seu app de forma intuitiva.
  • Os componentes prontos para uso estão disponíveis na Biblioteca de Suporte do Material Design. Esses componentes são compatíveis com o Android 2.1 (API de nível 7) e em versões mais recentes.

Localização

  • Seus usuários podem vir de qualquer parte do mundo e o idioma materno deles pode não ser igual ao seu. Ao não oferecer o app em um idioma que os usuários possam ler, você perderá uma oportunidade. Por isso, você precisa fazer a localização dele para os principais idiomas regionais.
  • Saiba mais no treinamento do Android sobre Compatibilidade com diferentes idiomas e consulte a Lista de verificação de localização.
  • A partir do Android 7.0 (API de nível 24), o framework do Android disponibiliza um subconjunto de APIs ICU4J (link em inglês), que pode ajudar você a localizar o app para diversos idiomas. Consulte APIs ICU4J Android Framework para ver mais informações.

Outros recursos

Para saber mais sobre esse assunto, consulte os recursos a seguir:

Outros temas

Postagens do blog