Я начал получать несколько странных ANR-отчетов (приложение, не отвечающее) из многих кодовых мест.
Вводная диспетчеризация отключена (Ожидание, поскольку в окне нет фокуса, но есть сфокусированное приложение, которое может в конечном итоге добавить окно, когда он заканчивает запуск.)
Этот ANR всегда появляется в разных местах моего кода, и они не следуют логическому шаблону. Я начал получать эти ошибки около месяца назад.
Есть несколько примеров отчетов ANR и его соответствующей строки кода:
at android.support.v7.app.AppCompatActivity.setContentView (AppCompatActivity.java:139)
at br.com.xxx.xxx.activities.MainActivity.onCreate (MainActivity.java:71)
at android.app.Activity.performCreate (Activity.java:6245)
MainActivity.java:71: setContentView(R.layout.activity_main);
Другой пример:
at android.support.v4.app.BackStackRecord.replace (BackStackRecord.java:421)
at br.com.xxx.xxx.activities.MainActivity.openFragment (MainActivity.java:146)
at br.com.xxx.xxx.activities.MainActivity.openMenu (MainActivity.java:121)
currentFragment = new CardsFragment();
MainActivity.java:146: openFragment(currentFragment);
И у этого даже нет ссылки на код:
at java.lang.Object.wait! (Native method)
- waiting on <0x0a7b02dc> (a java.lang.Object)
at java.lang.Thread.parkFor$ (Thread.java:1220)
- locked <0x0a7b02dc> (a java.lang.Object)
at sun.misc.Unsafe.park (Unsafe.java:299)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt (AbstractQueuedSynchronizer.java:810)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly (AbstractQueuedSynchronizer.java:971)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly (AbstractQueuedSynchronizer.java:1278)
at java.util.concurrent.CountDownLatch.await (CountDownLatch.java:203)
at android.app.SharedPreferencesImpl$EditorImpl$1.run (SharedPreferencesImpl.java:366)
at android.app.QueuedWork.waitToFinish (QueuedWork.java:88)
at android.app.ActivityThread.handleStopService (ActivityThread.java:3065)
at android.app.ActivityThread.-wrap21 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1457)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:148)
at android.app.ActivityThread.main (ActivityThread.java:5443)
at java.lang.reflect.Method.invoke! (Native method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618)
Мой вопрос: есть группа ANR, сообщающая ту же ошибку, но в разных местах и в разных приложениях. Как устранить эту ошибку? Или я должен рассматривать все эти ошибки как разные изолированные ошибки?
Я знаю, что уже есть вопросы с этой темой, но никто еще не дал полезного ответа. По крайней мере, это не помогло мне.
Изменить: Я получаю эти ошибки со многих устройств и версий Android:
- Motorola Moto G (2-го поколения) (titan_umtsds), 1024 МБ оперативной памяти, Android 6.0
- Samsung Galaxy Win2 (coreprimeltedtv), 1024 МБ оперативной памяти, Android 5.0
- Motorola Moto G (1-й генератор) (falcon_umts), 2048MB RAM, Android 7.1
К сожалению, Google Play Console не предоставляет гораздо больше информации.