Когда я пытаюсь запустить свою AndEngine Activity , я получаю такую ошибку:
ERROR/InputDispatcher(21374): channel '4122e148 my.package.AcGame (server)' ~ Channel is unrecoverably broken and will be disposed!
Приложение не вылетает, но есть черный экран, и устройство не реагирует на нажатие кнопок «назад» или «домой».
Кто-нибудь знает, в чем проблема?
Ответы:
Одна из наиболее частых причин, по которой я вижу эту ошибку, - это когда я пытаюсь отобразить диалоговое окно с предупреждением или диалоговое окно прогресса в действии, которое не находится на переднем плане. Например, когда фоновый поток, отображающий диалоговое окно, работает в приостановленном действии.
источник
Я думаю, что у Вас где-то утечки памяти. Вы можете найти советы , чтобы избежать утечек памяти здесь . Также вы можете узнать об инструментах для его отслеживания здесь .
источник
Вы использовали другой поток пользовательского интерфейса? Вы не должны использовать более 1 потока пользовательского интерфейса и делать его похожим на бутерброд. Это вызовет утечку памяти.
Я решил аналогичную проблему 2 дня назад ...
Для краткости: основной поток может иметь много потоков пользовательского интерфейса для выполнения нескольких работ, но если внутри него находится один подпоток, содержащий поток пользовательского интерфейса, поток пользовательского интерфейса может еще не завершить свою работу, а его родительский поток уже завершил свою работу. работают, это вызывает утечку памяти.
Например ... для приложения Fragment & UI ... это вызовет утечку памяти.
Мое решение переупорядочивается, как показано ниже:
для справки.
Я тайваньец, рад ответить здесь еще раз.
источник
Вы можете увидеть исходный код этого вывода здесь :
Это потому, что цикл сломан, заблокирован ...
источник
Я получил аналогичную ошибку (мое приложение вылетает) после того, как я что-то переименовал
strings.xml
и забыл изменить другие файлы (предпочтительный файл ресурсов xml и код java).IDE (студия Android) ошибок не показала. Но после того, как я восстановил свои xml-файлы и java-код, приложение заработало нормально. Так что, возможно, в ваших xml файлах или константах есть небольшие ошибки.
источник
У меня такая же проблема. Моя была связана с третьей банкой, но logcat не обнаружил исключения, я решил обновить третью банку, надеюсь, это поможет.
источник
Когда я столкнулся с этой ошибкой, где-то в вашем коде ваши функции или библиотеки, которые использовали, работают в разных потоках, поэтому попробуйте вызвать весь код в одном потоке, это устранило мою проблему.
Ссылка на Google
источник
У меня была такая же проблема, но моя была связана с утечкой памяти базы данных Android. Я пропустил курсор. Итак, устройство вылетает, чтобы исправить эту утечку памяти. Если вы работаете с базой данных Android, проверьте, не пропустили ли вы курсор при извлечении из базы данных
источник
Это случилось и со мной, когда я запускал игру на движке and. Это было исправлено после того, как я добавил приведенный ниже код в свой manifest.xml. Этот код следует добавить к вашей основной деятельности.
источник
У меня такая же проблема. Чтобы устранить ошибку: закройте его в эмуляторе, а затем запустите с помощью Android Studio.
Ошибка возникает при попытке повторно запустить приложение, когда оно уже запущено на эмуляторе.
В основном ошибка говорит: «У меня больше нет существующего канала и я удаляю уже установленное соединение», поскольку вы снова запустили приложение из Android Studio.
источник
У меня тоже была такая же проблема. В моем случае это было вызвано попыткой воспроизвести видео с плохой кодификацией (требовалось слишком много памяти). Это помогло мне обнаружить ошибку и запросить другую версию того же видео. https://stackoverflow.com/a/11986400/2508527
источник
В моем случае эти две проблемы возникают в некоторых случаях, например, когда я пытаюсь отобразить диалоговое окно прогресса в действии, которое не находится на переднем плане. Итак, я закрываю диалог прогресса в onPause жизненного цикла активности. И вопрос решен.
Невозможно запустить этот аниматор на отдельном виде! выявить эффект BUG
ОТВЕТ: Невозможно запустить этот аниматор на отдельном виде! выявить эффект
Почему у меня возникает ошибка? Канал неисправно сломан и будет удален!
ОТВЕТ: Почему у меня появляется ошибка «Канал неисправимо сломан и будет удален!»
источник
У меня была эта проблема, и на самом деле причиной было исключение NullPointerException. Но это не было представлено мне как единое целое!
мой результат: экран зависал на очень долгий период и ANR
Мое состояние: XML-файл макета был включен в другой макет, но ссылался на включенное представление без указания идентификатора в прикрепленном макете. (у меня было еще две похожие реализации одного и того же дочернего представления, поэтому идентификатор ресурса был создан с заданным именем)
Примечание: это был макет настраиваемого диалогового окна, поэтому сначала проверка диалогов может немного помочь
Вывод: при поиске идентификатора дочернего представления произошла утечка памяти.
источник
Эта ошибка возникла в случае утечки памяти. Например, если у вас есть статический контекст компонента Android (Activity / service / etc), и его убивает система.
Пример: элементы управления музыкальным проигрывателем в области уведомлений. Используйте службу переднего плана и задайте действия в канале уведомлений через PendingIntent, как показано ниже.
И если этот канал уведомлений внезапно прерывается (может быть из-за системы, например, в устройствах Xiomi, когда мы очищаем фоновые приложения), то из-за утечек памяти эта ошибка возникает из-за системы.
источник
Для меня это было вызвано слишком большим изображением заставки (более 4000x2000). Проблема исчезла после уменьшения его габаритов.
источник
Читая все статьи, кажется, что многие симптомы разного происхождения вызывают одни и те же симптомы проблемы.
В моем случае, например - у меня возникла эта проблема, как только я добавил
к моим свойствам индикатора выполнения. Я думаю, что дизайнер графического интерфейса ADT известен несколькими ошибками. Следовательно, я предполагаю, что это один из них. Поэтому, если вы столкнетесь с похожими симптомами проблемы (которые просто не имеют смысла) после игры с настройкой графического интерфейса, просто попробуйте откатить то, что вы сделали, и отменить последние изменения графического интерфейса.
Просто нажмите Ctrl + z, когда на экране отображается недавно измененный файл.
Или:
Инструмент контроля версий может оказаться полезным. Откройте панель управления версиями - выберите вкладку «Локальные изменения» и просмотрите недавно измененные файлы (возможно .xml).
Щелкните правой кнопкой мыши наиболее подозрительный и выберите Показать разницу. Тогда просто угадайте, какая модифицированная строка может быть причиной.
Удачи :)
источник
В моем случае я использовал библиотеку Glide, и переданное ей изображение было нулевым. Так что это вызывало эту ошибку. Ставлю чек вот так:
И все работало нормально. Надеюсь, это кому-то поможет.
источник
У меня такое же сообщение logcat, просто поймите, что значение массива string.xml не может быть числом / цифрой, но разрешен только текст / алфавит.
источник
В моем случае эта ошибка возникает из-за того, что я не подключен к firebase firestore, но использует то же самое.
Чтобы устранить проблему, перейдите в Инструменты-> Firebase.
когда на RHS откроется окно, выберите параметры -> Подключить приложение к Firebase -> Добавить Cloud Firestore в свое приложение
источник