Tarkoittaa ”Application Not Responding”. ANR on lyhenne, joka kuvaa reagoimatonta Android-sovellusta. Kun sovellus on käynnissä Android-laitteessa ja lakkaa vastaamasta, ”ANR”-tapahtuma käynnistyy. Kaksi ehtoa voi aiheuttaa ANR-virheen Android-laitteessa:
- Aktiivinen sovellus ei vastaa syöttötapahtumaan 5 sekunnin kuluessa.
- BroadcastReceiver-luokka ei suorita suoritusta loppuun pitkän ajan kuluttua.
Jos ANR-virhe tapahtuu Android-laitteessa, näyttöön tulee valintaikkuna. Viestissä ilmoitetaan, että sovellus ei vastaa ja kysytään, haluatko sulkea sovelluksen. Sinulla on kaksi vaihtoehtoa: Odota tai OK. Valitsemalla ”Odota” voit jatkaa odottamista, jos haluat antaa sovellukselle lisää aikaa. Valitsemalla ”OK” suljet sovelluksen ja saatat menettää tallentamattomat toiminnot.
ANR-virheitä tapahtuu monista eri syistä. Jotkut liittyvät kehittäjään, kuten huonosti kirjoitettu funktio, joka tekee silmukoita useammin kuin on tarpeen. Toiset taas liittyvät laitteeseen, eli laitteisto ei pysy sovelluksen vaatimusten perässä. Jos sovellus esimerkiksi renderöi suurta asiakirjaa, tietojen lataaminen ja kuvan renderöinti näytölle voi kestää useita sekunteja. Tämä voi aiheuttaa ANR-viestin, vaikka prosessi saattaa valmistua muutamaa sekuntia myöhemmin.
Kehittäjät
Koska ANR-viestit luovat huonon käyttökokemuksen, kehittäjät pyrkivät välttämään niitä tai ainakin vähentämään niiden esiintymistä mahdollisimman paljon. Android-käyttöjärjestelmä tallentaa ANR:t ja niitä vastaavat toiminnot auttaakseen kehittäjiä debuggaamaan sovelluksiaan. Jos sovellusta levitetään Google Playn kautta, ANR-tiedot lähetetään automaattisesti Googlelle. Kehittäjät voivat tarkastella ANR-tietoja kehittäjäkonsolin Android Vitals -osiossa.
Huomautus: ANR-tietojen mukana ei lähetetä henkilötietoja. Vain sovelluksen versio, Android-versio, laitetyyppi ja toimintatiedot (kuten nykyinen prosessi) tallennetaan.
Päivitetty: Syyskuu 11, 2018