AppReviewX Entrar

Teste de encerramento de processo e restauração no Android

Como simular o sistema encerrando seu app e verificar se o usuário volta exatamente ao mesmo lugar.

Neste guia

Quando o app está em segundo plano, o Android pode encerrar o processo dele para liberar memória, sem aviso e sem relatório de crash. O usuário volta e espera continuar de onde parou. Se o estado vivia só na memória, ele cai na tela inicial com o que digitou perdido. Esse bug é comum porque nunca acontece num celular de desenvolvedor com muita memória livre, e é fácil de reproduzir sob demanda.

Duas formas de simular

Opção 1: Não manter atividades. Nas Opções do desenvolvedor (toque sete vezes em Número da versão em Sobre o telefone para desbloqueá-las), ative Não manter atividades. Cada tela que você deixa é destruída. Lembre de desligar depois. Isso testa a recriação de telas, que é parente próximo do encerramento de processo.

Opção 2: Encerrar o processo. Mande o app para o segundo plano (botão home, não deslizar para fechar nos recentes) e depois rode no computador, com o adb:

adb shell am kill <seu.nome.do.pacote>

Depois reabra o app pelos recentes. O comando só encerra um processo que está em segundo plano; se nada acontecer, o app estava em primeiro plano. Deslizar o app para fora dos recentes é um force-stop feito pelo usuário, um caso diferente: o sistema não restaura o estado depois disso.

Checklist

Execute cada caso, encerre o processo, volte e compare.

  1. Formulário com texto digitado. Esperado: o texto continua lá, ou o usuário é avisado com clareza do que foi perdido.
  2. Tela profunda. Abra uma tela de detalhes três níveis abaixo. Esperado: você volta a essa tela, não à inicial.
  3. Posição de rolagem e aba. Esperado: mesma aba, aproximadamente a mesma posição.
  4. Itens selecionados e filtros. Esperado: a seleção e o filtro ativo continuam.
  5. Fluxo de várias etapas, como integração, checkout ou assistente de configuração. Esperado: a etapa e as respostas anteriores permanecem. É aqui que os usuários mais perdem.
  6. Diálogo ou painel inferior aberto. Esperado: ou restaurado ou fechado de forma limpa, nunca meio desenhado.
  7. Estado de login. Esperado: o usuário continua conectado.
  8. Tarefas em andamento. Upload, download, cronômetro. Esperado: retomam, recomeçam com segurança ou mostram uma falha clara, sem duplicatas.
  9. Desvio para uma permissão ou tela do sistema. Saia para um diálogo do sistema, encerre, volte. Esperado: o app continua o fluxo.
  10. Link profundo ou intent de compartilhamento. Abra a partir de um link, encerre, volte. Esperado: a tela correta.
  11. Abertura a frio depois de muito tempo. Deixe o app por horas e volte. Esperado: ele inicia sem travar por causa de dados antigos.

O que relatar

Os passos antes do encerramento, o método exato usado, o que o usuário viu ao voltar e o nome da tela. Mencione se o aparelho estava com pouca memória, pois isso pode disparar o problema naturalmente.

Como corrigir

Salve o que o usuário sentiria falta, nos lugares que o Android fornece para estado salvo, e mantenha os dados duráveis no armazenamento, não na memória. Teste de novo com os mesmos passos.

Limites

O comportamento real com pouca memória varia entre aparelhos. A simulação verifica o seu tratamento, não com que frequência o sistema fará isso.

Visão geral: Teste de apps Android. Relacionados: rotação e mudanças de configuração e economia de bateria e Doze.

Comece grátis no AppReviewX e peça aos testadores que sigam estes passos e relatem de forma estruturada.