ANR
Je zkratkou pro „Application Not Responding“. ANR je zkratka označující nereagující aplikaci Android. Když aplikace app běží na zařízení Android a přestane reagovat, spustí se událost „ANR“. Chybu ANR na zařízení Android mohou způsobit dvě podmínky:
- Aktivní aplikace nezareaguje na událost vstupu do 5 sekund.
- Třída BroadcastReceiver nedokončí provádění po dlouhou dobu.
Pokud na vašem zařízení Android dojde k chybě ANR, na obrazovce se zobrazí dialogové okno. Zpráva vás informuje, že aplikace nereaguje, a zeptá se, zda ji chcete zavřít. Máte dvě možnosti: nebo . Volba „Počkat“ vám umožní čekat dál, pokud chcete aplikaci dát více času. Volba „OK“ aplikaci zavře a můžete přijít o neuložené změny.
K chybám ANR dochází z mnoha různých důvodů. Některé souvisejí s vývojářem, například špatně napsaná funkce, která se opakuje 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í obrázku na obrazovce trvat několik sekund. To může vyvolat zprávu ANR, přestože proces může být dokončen o několik sekund později.
Vývojáři
Protože ANR zhoršují uživatelský komfort, vývojáři se jim snaží předcházet nebo alespoň co nejvíce snížit počet jejich výskytů. Operační systém Android zaznamenává ANR a odpovídající aktivity, aby vývojářům pomohl s laděním jejich aplikací. Pokud je aplikace distribuována prostřednictvím Google Play, data ANR se automaticky odesílají společnosti Google. Vývojáři si mohou data ANR prohlédnout v části Android Vitals v konzoli pro vývojáře.
NOTE: S daty ANR se nepřenášejí žádné osobní údaje. Zaznamenává se pouze verze aplikace, verze systému Android, typ zařízení a data o aktivitě, například aktuální proces.
Otestujte své znalosti
