Står för ”Application Not Responding”. ANR är en förkortning som beskriver en Android-app som inte svarar. När en app körs på en Android-enhet och slutar svara utlöses en ”ANR”-händelse. Två förhållanden kan orsaka ett ANR-fel på en Android-enhet:
- En aktiv app svarar inte på en inmatningshändelse inom 5 sekunder.
- Klassen BroadcastReceiver slutar inte att exekvera efter en lång tid.
Om ett ANR-fel inträffar på din Android-enhet visas en dialogruta på skärmen. Meddelandet informerar dig om att programmet inte svarar och frågar om du vill stänga programmet. Du har två alternativ: Du har två alternativ: Vänta eller OK. Om du väljer ”Vänta” kan du fortsätta att vänta om du vill ge appen mer tid. Om du väljer ”OK” stängs appen och du kan förlora icke sparad aktivitet.
ANR-fel inträffar av många olika anledningar. Vissa är utvecklarrelaterade, t.ex. en dåligt skriven funktion som loopar fler gånger än nödvändigt. Andra är enhetsrelaterade, vilket innebär att hårdvaran inte kan hålla jämna steg med appens krav. Om en app till exempel renodlar ett stort dokument kan det ta flera sekunder att ladda in data och renodla bilden på skärmen. Detta kan ge upphov till ett ANR-meddelande, även om processen kan slutföras några sekunder senare.
Utvecklare
Då ANR skapar en dålig användarupplevelse, strävar utvecklare efter att undvika dem eller åtminstone minska antalet förekomster så mycket som möjligt. Operativsystemet Android registrerar ANRs och motsvarande aktiviteter för att hjälpa utvecklare att felsöka sina appar. Om en app distribueras via Google Play skickas ANR-data automatiskt till Google. Utvecklare kan granska ANR-data i avsnittet Android Vitals i Developer Console.
OBS: Inga personuppgifter överförs med ANR-data. Endast appversionen, Android-versionen, enhetstypen och aktivitetsdata (t.ex. den aktuella processen) registreras.
Uppdaterad: Uppdaterad: 11 september 2018