Znamená „Application Not Responding“. ANR je zkratka, která popisuje neodpovídající aplikaci systému Android. Když je aplikace spuštěna na zařízení se systémem Android a přestane reagovat, je spuštěna událost „ANR“. Chybu ANR mohou na zařízení se systémem Android způsobit dvě podmínky:

  1. Aktivní aplikace nereaguje na vstupní událost do 5 sekund.
  2. Třída BroadcastReceiver po dlouhé době nedokončí své provádění.

Pokud na zařízení se systémem Android dojde k chybě ANR, na obrazovce se zobrazí dialogové okno. Bude vás informovat o tom, že aplikace neodpovídá, a zeptá se vás, zda ji chcete zavřít. Máte dvě možnosti: Počkat nebo OK. Výběr možnosti „Počkat“ vám umožní pokračovat v čekání, pokud chcete dát aplikaci více času. Výběrem možnosti „OK“ aplikaci zavřete a můžete přijít o neuložené aktivity.

ANR se liší od pádu. Pád způsobí neočekávané ukončení programu. ANR způsobí, že program na několik sekund „visí“ ve stavu bez odezvy, ale může se zotavit.

K chybám ANR dochází z mnoha různých důvodů. Některé souvisejí s vývojáři, například špatně napsaná funkce, která se zacyklí vícekrát, než je nutné. Jiné souvisejí se zařízením, což znamená, že hardware nedokáže držet krok s požadavky aplikace. Pokud například aplikace vykresluje velký dokument, může načtení dat a vykreslení obrazu na obrazovce trvat několik sekund. To může vyvolat zprávu ANR, ačkoli proces může být dokončen o několik sekund později.

Vývojáři

Protože zprávy ANR vytvářejí špatný uživatelský zážitek, vývojáři se jim snaží vyhnout nebo alespoň co nejvíce snížit počet jejich výskytů. Operační systém Android zaznamenává ANR a příslušné aktivity, aby vývojářům pomohl odladit jejich aplikace. Pokud je aplikace distribuována prostřednictvím služby Google Play, jsou údaje o ANR automaticky odesílány společnosti Google. Vývojáři si mohou údaje ANR prohlédnout v sekci Android Vitals v konzoli pro vývojáře.

POZNÁMKA: S údaji ANR se nepřenášejí žádné osobní údaje. Zaznamenává se pouze verze aplikace, verze systému Android, typ zařízení a údaje o činnosti (například aktuální proces).

Aktualizováno: 11. září 2018

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.