Stands for „Application Not Responding.” ANR to skrót, który opisuje niereagującą aplikację w systemie Android. Kiedy aplikacja jest uruchomiona na urządzeniu z systemem Android i przestaje odpowiadać, wyzwalane jest zdarzenie „ANR”. Dwa warunki mogą spowodować błąd ANR na urządzeniu z systemem Android:

  1. Aktywna aplikacja nie odpowiada na zdarzenie wejściowe w ciągu 5 sekund.
  2. Klasa BroadcastReceiver nie kończy wykonywania po długim okresie czasu.

Jeśli błąd ANR wystąpi na urządzeniu z systemem Android, na ekranie pojawi się okno dialogowe. Komunikat poinformuje Cię, że aplikacja nie odpowiada i zapyta, czy chcesz ją zamknąć. Masz dwie opcje: Czekaj lub OK. Wybranie opcji „Czekaj” pozwoli Ci kontynuować czekanie, jeśli chcesz dać aplikacji więcej czasu. Wybór „OK” spowoduje zamknięcie aplikacji i można stracić niezapisaną aktywność.

ANR są różne od awarii. Awaria powoduje, że program nieoczekiwanie kończy pracę. ANR powoduje, że program „zawiesza się” w stanie braku reakcji na kilka sekund, ale może odzyskać sprawność.

Błędy ANR zdarzają się z wielu różnych powodów. Niektóre z nich są związane z programistą, np. źle napisana funkcja, która zapętla się więcej razy niż to konieczne. Inne są związane z urządzeniem, co oznacza, że sprzęt nie nadąża za wymaganiami aplikacji. Na przykład, jeśli aplikacja renderuje duży dokument, ładowanie danych i renderowanie obrazu na ekranie może zająć kilka sekund. Może to wywołać komunikat ANR, choć proces może zakończyć się kilka sekund później.

Deweloperzy

Ponieważ ANR tworzą słabe doświadczenie użytkownika, deweloperzy dążą do ich uniknięcia lub przynajmniej zmniejszenia liczby wystąpień tak bardzo, jak to możliwe. System operacyjny Android rejestruje ANR i odpowiadające im działania, aby pomóc programistom w debugowaniu ich aplikacji. Jeśli aplikacja jest dystrybuowana przez Google Play, dane ANR są automatycznie wysyłane do Google. Programiści mogą przeglądać dane ANR w sekcji Android Vitals konsoli dla programistów.

UWAGA: Wraz z danymi ANR nie są przesyłane żadne dane osobowe. Rejestrowane są tylko wersja aplikacji, wersja systemu Android, typ urządzenia i dane dotyczące aktywności (takie jak bieżący proces).

Updated: 11 września 2018

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.