Az “Application Not Responding” kifejezés. Az ANR egy rövidítés, amely egy nem reagáló Android-alkalmazást ír le. Amikor egy Android-eszközön futó alkalmazás nem reagál, akkor “ANR” eseményt vált ki. Két feltétel okozhat ANR hibát az Android készüléken:
- Az aktív alkalmazás 5 másodpercen belül nem válaszol egy bemeneti eseményre.
- A BroadcastReceiver osztály hosszú idő után nem fejezi be a végrehajtást.
Ha ANR hiba történik az Android készüléken, egy párbeszédpanel jelenik meg a képernyőn. Az üzenet tájékoztatja Önt arról, hogy az alkalmazás nem válaszol, és megkérdezi, hogy be kívánja-e zárni az alkalmazást. Két lehetősége van: Várni vagy OK. A “Várj” választása lehetővé teszi, hogy tovább várakozzon, ha több időt szeretne adni az alkalmazásnak. Az “OK” választása bezárja az alkalmazást, és elveszítheti a nem elmentett tevékenységet.
Az ANR hibák sokféle okból fordulnak elő. Néhány a fejlesztővel kapcsolatos, például egy rosszul megírt függvény, amely a szükségesnél többször ismétlődik. Mások az eszközzel kapcsolatosak, ami azt jelenti, hogy a hardver nem tud lépést tartani az alkalmazás igényeivel. Ha például egy alkalmazás egy nagyméretű dokumentumot renderel, több másodpercig is eltarthat az adatok betöltése és a kép megjelenítése a képernyőn. Ez ANR üzenetet eredményezhet, bár a folyamat néhány másodperccel később befejeződhet.
Developers
Miatt az ANR-ek rossz felhasználói élményt okoznak, a fejlesztők igyekeznek elkerülni őket, vagy legalábbis az előfordulásukat a lehető legnagyobb mértékben csökkenteni. Az Android operációs rendszer rögzíti az ANR-eket és a hozzájuk tartozó tevékenységeket, hogy segítse a fejlesztőket alkalmazásaik hibakeresésében. Ha egy alkalmazást a Google Play-en keresztül terjesztenek, az ANR-adatokat automatikusan elküldik a Google-nak. A fejlesztők a fejlesztői konzol Android Vitals részében tekinthetik meg az ANR-adatokat.
FIGYELEM: Az ANR-adatokkal együtt nem kerülnek továbbításra személyes adatok. Csak az alkalmazás verziója, az Android verziója, az eszköz típusa és a tevékenységi adatok (például az aktuális folyamat) kerülnek rögzítésre.
Frissítve: szeptember 11, 2018