Android выдает ошибки

#android #android-emulator #android-layout

#Android #android-эмулятор #android-layout

Вопрос:

У меня приложение работало нормально, я не знаю, что произошло, теперь я получаю этот журнал.. Я новичок в Android, и мне трудно это уловить.. где это ошибка.. можете ли вы что-нибудь сказать по этому журналу? Спасибо

 04-24 04:09:29.561: WARN/ActivityManager(61):   Force finishing activity com.gaming.game/.GameActivity
04-24 04:47:55.491: ERROR/ActivityManager(61): ANR in com.gaming.game (com.gaming.game/.GameActivity)
04-24 04:47:55.491: ERROR/ActivityManager(61): Reason: keyDispatchingTimedOut
04-24 04:47:55.491: ERROR/ActivityManager(61): Parent: com.gaming.game/.gaming
04-24 04:47:55.491: ERROR/ActivityManager(61): Load: 0.86 / 0.54 / 0.41
04-24 04:47:55.491: ERROR/ActivityManager(61): CPU usage from 48945ms to 2842ms ago:
04-24 04:47:55.491: ERROR/ActivityManager(61):   9.2% 61/system_server: 6.9% user   2.2% kernel / faults: 1381 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   1.2% 672/com.android.launcher: 0.6% user   0.6% kernel / faults: 368 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   0.6% 448/com.android.defcontainer: 0.1% user   0.5% kernel / faults: 56 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   1% 41/adbd: 0.1% user   0.9% kernel / faults: 64 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   0.3% 125/com.android.systemui: 0.2% user   0% kernel / faults: 1 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   0.2% 123/com.android.phone: 0% user   0.1% kernel / faults: 2 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   0% 587/logcat: 0% user   0% kernel
04-24 04:47:55.491: ERROR/ActivityManager(61):   0% 35/installd: 0% user   0% kernel / faults: 6 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   0% 120/jp.co.omronsoft.openwnn: 0% user   0% kernel / faults: 3 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   0% 313/com.android.quicksearchbox: 0% user   0% kernel / faults: 2 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   0% 4/events/0: 0% user   0% kernel
04-24 04:47:55.491: ERROR/ActivityManager(61):   0% 32/rild: 0% user   0% kernel
04-24 04:47:55.491: ERROR/ActivityManager(61):   0% 33/zygote: 0% user   0% kernel / faults: 18 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   0% 499/com.svox.pico: 0% user   0% kernel / faults: 18 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):   0% 1565/com.gaming.game: 0% user   0% kernel
04-24 04:47:55.491: ERROR/ActivityManager(61): 31% TOTAL: 19% user   11% kernel   0% irq   0.2% softirq
04-24 04:47:55.491: ERROR/ActivityManager(61): CPU usage from 796ms to 1401ms later:
04-24 04:47:55.491: ERROR/ActivityManager(61):   43% 1565/com.gaming.game: 0% user   43% kernel / faults: 1 minor
04-24 04:47:55.491: ERROR/ActivityManager(61):     43% 1567/HeapWorker: 0% user   43% kernel
04-24 04:47:55.491: ERROR/ActivityManager(61):   10% 61/system_server: 6.6% user   3.3% kernel
04-24 04:47:55.491: ERROR/ActivityManager(61):     10% 100/InputDispatcher: 6.6% user   3.3% kernel
04-24 04:47:55.491: ERROR/ActivityManager(61): 76% TOTAL: 4.6% user   72% kernel
  

Ответ №1:

ОШИБКА / ActivityManager (61): ANR в com.gaming.game (com.gaming.game /.GameActivity) Причина: keyDispatchingTimedOut 04-24 04:47:55.491:

Ваша активность реагирует слишком долго, так как она уничтожается.

Взгляните на этот пост:http://danbarnett.net/android-anr-keydispatchingtimedout-178.html

Эта ошибка ANR, или приложение не отвечает, возникает, когда процесс в главном потоке занимает слишком много времени (что-то около 5 секунд). Android убивает этот процесс и все связанные с ним по дизайну, чтобы сэкономить ресурсы устройства.

Решение состоит в том, чтобы запускать ресурсоемкие задачи в другом потоке, а затем публиковать или соответствующим образом обновлять основной поток. Обычно для этого используются сетевые вызовы (и в этом заключалась моя проблема). Ниже приведен пример того, как реализовать эту логику, в моем случае, чтобы проверить, требуется ли обновление:

Ответ №2:

ANR означает, что ваше приложение не реагирует. Т.е. вы выполняете дорогостоящую операцию (какую, мы не можем сказать без вашего кода), которая блокирует поток пользовательского интерфейса. Попробуйте запустить некоторые асинхронные задачи или использовать сервис для ваших длительных операций.

Ответ №3:

попробуйте добавить некоторое время ожидания после установки bitmap на canvas и перед добавлением других элементов поверх него. Это помогло мне