Vypadá to, že váš prohlížeč není podporován naší aplikací.

Obvyklí viníci

Všeobecně se ANR spouští, protože vaše aplikace provádí následující:

  1. Provádí pomalé operace s I/O v hlavním vlákně.
  2. Provádění dlouhých výpočtů v hlavním vlákně.
  3. Provádění synchronního volání pojiva v hlavním vlákně a jinému procesu trvá, než odpoví.
  4. Čekání v hlavním vlákně na jiné vlákno, které provádí dlouhou operaci.
  5. Zaseknutí v situaci slepé uličky. K deadlocku může dojít v hlavním vlákně, když čeká na prostředky, které jiný proces neuvolnil, takže nemůže získat potřebné prostředky. Tyto jiné procesy mohou být v jiném vlákně, ve vašem procesu nebo ve volání pořadače.

Diagnostické techniky

Používejte přísný režim

Pomocí StrictMode můžete najít náhodné I/O operace.

Přečtěte si více o StrictMode v oficiální dokumentaci.

Povolte dialogová okna ANR na pozadí v možnostech pro vývojáře

Ne všechny ANR jsou pro uživatele viditelné; aplikace se proto může potýkat s problémy s výkonem, aniž by si to uživatel uvědomoval. Povolte dialogy ANR na pozadí v možnostech pro vývojáře.

Prohlížejte trasovací soubory pomocí adb

Trasovací soubory jsou generovány při události ANR. Tyto soubory můžete vytáhnout pomocí Android Debug Bridge (adb) jako root pomocí následujících příkazů:

adb rootadb shell ls /data/anradb pull /data/anr/<filename>

.

Napsat komentář