Alguma vez você tentou usar um app e, após um tempo de espera, recebeu a mensagem “esse aplicativo não está respondendo”? Esse é um dos chamados erros “Aplicativo Não Responde”, ou apenas ANRs.
Mas por que eles acontecem? O que podemos fazer para consertar esse erro e voltar a utilizar o aplicativo normalmente? Para esclarecer essas e mais informações sobre o ANR, o RankMyAPP preparou um conteúdo exclusivo sobre o tema. Confira a seguir.
Entendendo os ANRs
Mesmo que os aplicativos tenham sido criados para otimizar nosso dia a dia, é comum que eles apresentem alguns erros. Há casos em que a falha acontece por falta de atualização do app. Em outras situações, há uma “falha de comunicação”, como é o caso dos ANRs (do inglês, Application Not Responding).
O ANR acontece quando a linha de execução de IU (Interface do Usuário) do aplicativo é bloqueada por muito tempo. Quando isso acontece, a mensagem “o app não está respondendo” ou “o aplicativo parou de funcionar” é ativada.
Quando o aplicativo está em primeiro plano — ou seja, aberto para ser utilizado naquele exato momento —, é apresentada uma caixa de opções, onde o usuário escolhe se quer esperar por mais um tempo de resposta do app ou se prefere forçar o fechamento dele e informar o erro.
Quando ocorre ANRs
O problema principal que causa o erro ANR é o não processamento de eventos de entrada pela principal linha de execução do app — também responsável pela atualização da IU. A falha de comunicação é diagnosticada nas seguintes situações:
- Quando seu aplicativo não está respondendo a um evento de entrada ou BroadcastRecieve em até cinco segundos — como toque na tela, por exemplo),
- Quando o BroadcastRecieve não conseguiu finalizar a execução de um app dentro de um intervalo considerável.
O que fazer quando acontecer erros ANRs?
“Meu app está apresentando constantes erros ANRs, o que fazer para melhorar isso?”
Sabemos que aplicativos que apresentam muitos erros são um risco para a retenção e a fidelização de usuários. Por isso, assim como os demais, é importante diagnosticar rapidamente os erros ANRs dos apps, para poder solucioná-los o mais rápido possível.
Uma das opções para isso é usar softwares que monitoram o desempenho do seu app nas stores. Um exemplo é o Android Vitals, que ajuda a melhorar o desempenho do app no momento em que emite o alerta ao Play Console de que houve um erro ANR. Ele considera uma falha de Aplicativo Não Responde se:
- Uma mensagem ANR for exibida em, pelo menos, 0,47% das suas sessões diárias,
- Uma mensagem ANR for exibida duas ou mais vezes em 0,24% das suas sessões diárias.
Como corrigir falhas ANRs?
Para que você possa corrigir os problemas de ANRs do seu aplicativo, é necessário fazer ajustes nos códigos de ação do app. Isso porque, geralmente, encontra-se um tempo longo de resposta nas linhas de execução.
Para te ajudar, você pode contar com o Traceview. Assim, fica mais simples identificar qual das linhas principais estão ocupadas e com mais de cinco segundos de resposta.
Algo muito comum que costuma causar mensagens ANRs são as execuções de entrada/saída (E/S) dos aplicativos. Aliás, alguns exemplos dessas execuções são as operações de armazenamento e rede.
Nesse caso, para que não haja mais esse erro, é recomendável ajustar os códigos do app, fazendo com que todas as operações de E/S sejam movidas para uma linha de execução de worker.
Outra situação comum que faz com que apareçam mensagens ANRs nos aplicativos são bloqueios nas linhas principais de execução. Quando houver um bloqueio de execução em uma linha de worker, a mensagem de erro será gerada.
Procure corrigir os ANRs quanto antes
São várias as situações que podem causar um ANR. Por isso, é muito importante sempre verificar a programação do seu app, para garantir que nenhuma linha de execução principal esteja tomando mais tempo do que o necessário.
Corrigindo esse problema, haverá menos chances de seu app perder usuários por mau desempenho. Afinal, ninguém quer sofrer com erros quando precisar utilizar um aplicativo, não é mesmo?
Acompanhe nossas publicações
Assim como você pôde entender melhor o que são os ANRs e quais as principais causas desses erros, você encontra muitos outros conteúdos como este em nosso blog. Portanto, assine agora mesmo nossa newsletter e receba nossos posts em primeira mão!