IU e conteúdo para bilhões

Certifique-se de que seu aplicativo oferece uma interface interativa que responde rapidamente à entrada do usuário e, se necessário, compensa um lançamento lento. Seu aplicativo deve ser projetado para fácil 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 telefone.

Interface do usuário rápida e responsiva

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

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 aplicativo deve fornecer feedback de toque em todos os elementos tocáveis para reduzir ao máximo a percepção de latência do aplicativo.
  • Uma interação responsiva incentiva a exploração mais aprofundada de um aplicativo ao criar reações rápidas, lógicas e interessantes nas telas quando o usuário executa uma ação. A interação responsiva eleva um aplicativo de um serviço de entrega de informações para uma experiência que se comunica por meio de diversas respostas visuais e táteis.
  • Para saber mais, acesse o treinamento do Android sobre como Personalizar o feedback de toque.

A interface sempre deve ser interativa

  • Aplicativos que não fazem nada quando estão executando tarefas em segundo plano parecem lentos e reduzem a satisfação do usuário. A interface do seu aplicativo sempre deve ser responsiva, independentemente de qualquer tarefa realizada em segundo plano. Isso pode ser feito ao executar operações de rede ou qualquer operação pesada em um encadeamento em seguindo plano, mantendo o thread de IU o mais inativo possível.
  • Os aplicativos do Material Design usam alterações visuais mínimas no 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.
  • Os estados vazios ocorrem quando uma visualização não tem conteúdo para mostrar. Pode ser que uma lista não contenha 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 são aplicáveis, exiba uma imagem não interativa e um slogan de texto que informa ao usuário o que ele verá quando houver algo para exibir.
  • Para saber mais, acesse o treinamento do Android sobre como Manter seu aplicativo responsivo.

Direcione para 60 quadros por segundo em dispositivos de baixo custo

  • Seu aplicativo sempre deve ser executado de forma rápida e uniforme, mesmo em dispositivos de baixo custo.
  • Excessos de renderização (quando os pixels são renderizados mais de uma vez por passagem) podem reduzir significativamente a velocidade do seu aplicativo. Um exemplo disso é quando você tem uma imagem com um botão sobre ela. Embora seja impossível evitar alguns excessos de renderização, eles devem ser minimizados para garantir uma taxa de quadros eficiente. Execute a depuração de excessos de renderização da GPU no seu aplicativo para garantir isso.
  • Dispositivos Android atualizam a tela a uma taxa de 60 quadros por segundo (fps), o que significa que seu aplicativo precisa atualizar a tela em até cerca de 16 milissegundos. Crie um perfil do seu aplicativo usando ferramentas no dispositivo para verificar se e quando ele não está atingindo essa média de 16 milissegundos.
  • Reduza ou remova animações em dispositivos de baixo custo para diminuir a sobrecarga da CPU e da GPU do dispositivo. Para saber mais, acesse o treinamento do Android sobre como Melhorar o desempenho do layout.
  • Uma hierarquia eficiente de visualizações pode tornar o aplicativo mais rápido sem aumentar o espaço exigido da memória. Para saber mais, consulte Desempenho e hierarquias de visualizações.

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

  • 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 aplicativo aumenta a percepção do tempo de carregamento. Por isso, considere usar uma interface de marcador ou uma tela de inicialização da marca para reduzir essa percepção.
  • Uma IU de marcador é a transição de inicialização ideal, apropriada para inicializações de aplicativo e transições de atividades no aplicativo.
  • Telas de inicialização da marca expõem a marca temporariamente, liberando a interface para se concentrar no conteúdo.
  • Para saber mais sobre como implementar telas de apresentação, consulte a seção Telas de inicialização das especificações do Material Design.
  • A melhor maneira de lidar com lentidão na inicialização é eliminá-la. Desempenho na inicialização fornece informações que podem ajudar a acelerar o tempo de inicialização do seu aplicativo.

Práticas recomendadas da interface do usuário

  • O Material Design é uma linguagem visual que sintetiza os princípios clássicos do bom projeto com a inovação e a possibilidade de tecnologia e ciência. O Material Design oferece um só sistema subjacente que permite uma experiência unificada em todas as plataformas e tamanhos de dispositivo. Considere usar componentes essenciais do Material Design para que os usuários saibam como usar seu aplicativo de forma intuitiva.
  • Os componentes prontos para uso do Material Design estão disponíveis na Material Design Support library. Esses componentes podem ser usados no Android 2.1 (nível de API 7) e em versões posteriores.

Localização

  • Seus usuários podem vir de qualquer parte do mundo e o idioma materno deles pode não ser igual ao seu. Se não apresentar seu aplicativo em um idioma que os usuários possam ler, você perderá uma oportunidade. Portanto, você deve localizar seu aplicativo para idiomas regionais principais.
  • Para saber mais, acesse o treinamento do Android sobre como Oferecer suporte a diferentes idiomas.
  • Começando no Android 7.0 (API de nível 24), a estrutura do Android disponibiliza um subconjunto de APIs ICU4J, que pode ajudar a localizar seu aplicativo para diversos idiomas. Caso queira saber mais, consulte APIs ICU4J Android Framework.