Google Play сообщает об ошибках ANR в основном для устройств Samsung с Android 16. Я тестировал различные устройства, включая Samsung, но не смог воспроизвести ошибку ANR. Я профилировал приложение и проверил трассировку системы, но понятия не имел. Есть идеи, как определить основную причину и воспроизвести проблему?
Из консоли Google Play:
Основной поток завершил обработку событий и закрывает приложение. В рамках этого процесса оно ожидает завершения всех остальных потоков.
Рекомендация
Если есть поток, который не завершается, возможно, приложение отобразит сообщение ANR, поскольку система считает, что он все еще активен. Распространенной причиной возникновения ошибки ANR этого типа является установка нового обработчика неперехваченных исключений, который не делегирует функции предыдущему обработчику. Невыполнение обратного вызова предыдущего обработчика приведет к ошибке ANR."
#00 pc 0x000000000009361c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
#01 pc 0x0000000000201230 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+136)
#02 pc 0x00000000008b851c /apex/com.android.art/lib64/libart.so (art::ThreadList::WaitForOtherNonDaemonThreadsToExit+204)
#03 pc 0x00000000007ef1c4 /apex/com.android.art/lib64/libart.so (art::JII::DestroyJavaVM+36)
#04 pc 0x000000000012e5c0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start+1084)
#05 pc 0x00000000000025b8 /system/bin/app_process64 (main+1284)
#06 pc 0x0000000000068180 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+120)
Подробнее здесь: https://stackoverflow.com/questions/798 ... -slow-exit