Cuando intento lanzar mi actividad AndEngine , aparece este error:
ERROR/InputDispatcher(21374): channel '4122e148 my.package.AcGame (server)' ~ Channel is unrecoverably broken and will be disposed!
La aplicación no se bloquea, pero hay una pantalla negra y el dispositivo no reacciona al presionar los botones 'atrás' o 'inicio'.
Alguien sabe cual es el problema?
Respuestas:
Una de las razones más comunes por las que veo ese error es cuando intento mostrar un cuadro de diálogo de alerta o un cuadro de diálogo de progreso en una actividad que no está en primer plano. Como cuando un hilo en segundo plano que muestra un cuadro de diálogo se ejecuta en una actividad en pausa.
fuente
Creo que tienes pérdidas de memoria en alguna parte. Puede encontrar consejos para evitar pérdidas de memoria aquí . También puede aprender sobre herramientas para rastrearlo aquí .
fuente
¿Ha utilizado otro hilo de interfaz de usuario? No debe usar más de 1 hilo de UI y hacer que parezca un sándwich. Hacer esto provocará pérdidas de memoria.
He resuelto un problema similar hace 2 días ...
Para ser breve: el hilo principal puede tener muchos hilos de IU para realizar múltiples trabajos, pero si un subproceso que contiene un hilo de IU está dentro de él, es posible que el hilo de IU no haya terminado su trabajo todavía mientras que el hilo principal ya haya terminado su funciona, esto provoca pérdidas de memoria.
Por ejemplo ... para la aplicación Fragment & UI ... esto provocará pérdidas de memoria.
Mi solución es reorganizar de la siguiente manera:
para tu referencia.
Soy taiwanés, me complace responder aquí una vez más.
fuente
Puede ver el código fuente sobre esta salida aquí :
Es porque por ciclo roto bloqueado ...
fuente
Recibí un error similar (mi aplicación falla) después de cambiar el nombre de algo en
strings.xml
y me olvidé de modificar otros archivos (un archivo de recursos xml de preferencia y un código Java).IDE (estudio de Android) no mostró ningún error. Pero, después de que reparé mis archivos xml y código java, la aplicación funcionó bien. Entonces, tal vez haya algunos pequeños errores en sus archivos xml o constantes.
fuente
Yo tuve el mismo problema. El mío se debió a un tercer jar, pero el logcat no detectó la excepción, lo resolví actualizando el tercer jar, espero que esto ayude.
fuente
Cuando enfrenté este error, en algún lugar de su código, sus funciones o bibliotecas que solían ejecutarse en diferentes subprocesos, así que intente llamar a todo el código en el mismo subproceso, solucionó mi problema.
Enlace de referencia de Google
fuente
Tuve el mismo problema, pero el mío fue debido a una pérdida de memoria de la base de datos de Android. Salteé un cursor. Entonces, el dispositivo se bloquea para solucionar esa pérdida de memoria. Si está trabajando con la base de datos de Android, verifique si omitió un cursor mientras recuperaba datos de la base de datos
fuente
También me sucedió a mí mientras ejecutaba un juego usando and-engine. Se solucionó después de que agregué el siguiente código a mi manifest.xml. Este código debe agregarse a su actividad principal.
fuente
Yo tuve el mismo problema. Para resolver el error: Ciérrelo en el emulador y luego ejecútelo usando Android Studio.
El error ocurre cuando intenta volver a ejecutar la aplicación cuando ya se está ejecutando en el emulador.
Básicamente, el error dice: "Ya no tengo el canal existente y estoy eliminando la conexión ya establecida", ya que ha ejecutado la aplicación desde Android Studio nuevamente.
fuente
Yo también estaba teniendo el mismo problema. En mi caso fue provocado al intentar reproducir videos con una codificación pobre (demandaba demasiada memoria). Esto me ayudó a detectar el error y solicitar otra versión del mismo video. https://stackoverflow.com/a/11986400/2508527
fuente
En mi caso, estos dos problemas ocurren en algunos casos, como cuando intento mostrar el cuadro de diálogo de progreso en una actividad que no está en primer plano. Entonces, descarto el diálogo de progreso en onPause del ciclo de vida de la actividad. Y el problema está resuelto.
¡No se puede iniciar este animador en una vista separada! revelar efecto ERROR
RESPUESTA: ¡ No se puede iniciar este animador en una vista separada! revelar efecto
¿Por qué recibo un error? ¡El canal está irrecuperablemente roto y se eliminará!
RESPUESTA: Por qué recibo el error "¡El canal está irrecuperablemente roto y se eliminará!"
fuente
Tuve este problema y la causa fue en realidad una NullPointerException. ¡Pero no se me presentó como tal!
mi Salida: la pantalla estuvo atascada durante un período muy largo y ANR
Mi estado: el archivo xml de diseño se incluyó en otro diseño, pero se hizo referencia a la vista incluida sin dar una identificación en el diseño adjunto. (Tenía dos implementaciones más similares de la misma vista secundaria, por lo que la identificación del recurso se creó con el nombre de pila)
Nota: era un diseño de diálogo personalizado, por lo que comprobar los diálogos primero puede ayudar un poco
Conclusión: Se produjo una pérdida de memoria al buscar la identificación de la vista secundaria.
fuente
Para mí, fue causado por una imagen de la pantalla de presentación que era demasiado grande (más de 4000x2000). El problema desapareció después de reducir sus dimensiones.
fuente
Al leer todas las contribuciones, parece que muchos orígenes diferentes presentan los mismos síntomas del problema.
En mi caso, por ejemplo, tuve este problema tan pronto como agregué
a las propiedades de mi barra de progreso. Creo que el diseñador de GUI de ADT es conocido por varios errores. Por lo tanto, supongo que este es uno de ellos. Entonces, si encuentra síntomas de problemas similares (que simplemente no tienen sentido) después de jugar con la configuración de su GUI, simplemente intente revertir lo que hizo y deshaga sus últimas modificaciones de GUI.
Simplemente presione Ctrl + z con el archivo modificado recientemente en la pantalla.
O:
La herramienta de control de versiones podría resultar útil. Abra el panel Control de versiones: elija la pestaña Cambios locales y vea los archivos modificados recientemente (tal vez .xml).
Haga clic derecho en alguno de los más sospechosos y haga clic en Mostrar diferencia. Luego, adivine qué línea modificada podría ser la responsable.
Buena suerte :)
fuente
Este error ocurrió en caso de pérdida de memoria. Por ejemplo, si tiene algún contexto estático de un componente de Android (Actividad / servicio / etc.) y el sistema lo mata.
Ejemplo: controles del reproductor de música en el área de notificación. Utilice un servicio de primer plano y establezca acciones en el canal de notificación a través de PendingIntent como se muestra a continuación.
Y si este canal de notificación se rompe abruptamente (puede ser por sistema, como en los dispositivos Xiomi cuando limpiamos las aplicaciones en segundo plano), entonces, debido a pérdidas de memoria, este error es lanzado por el sistema.
fuente
En mi caso, estaba usando la biblioteca Glide y la imagen que se le pasó era nula. Entonces estaba arrojando este error. Pongo un cheque como este:
Y funcionó bien. Espero que esto ayude a alguien.
fuente
Recibí el mismo mensaje de logcat, solo me doy cuenta de que el valor string.xml de la matriz no puede ser número / dígito, pero solo se permite texto / alfabeto.
fuente