Lorsque j'essaye de lancer mon activité AndEngine , j'obtiens cette erreur:
ERROR/InputDispatcher(21374): channel '4122e148 my.package.AcGame (server)' ~ Channel is unrecoverably broken and will be disposed!
L'application ne plante pas, mais il y a un écran noir et l'appareil ne réagit pas en appuyant sur les boutons «retour» ou «accueil».
Quelqu'un sait-il quel est le problème?
Réponses:
L'une des raisons les plus courantes pour lesquelles je vois cette erreur est lorsque j'essaie d'afficher une boîte de dialogue d'alerte ou de progression dans une activité qui n'est pas au premier plan. Comme lorsqu'un thread d'arrière-plan qui affiche une boîte de dialogue s'exécute dans une activité suspendue.
la source
Je pense que vous avez des fuites de mémoire quelque part. Vous pouvez trouver des conseils pour éviter les fuites de mémoire ici . Vous pouvez également en apprendre davantage sur les outils pour le suivre ici .
la source
Avez-vous utilisé un autre thread d'interface utilisateur? Vous ne devez pas utiliser plus d'un fil d'interface utilisateur et le faire ressembler à un sandwich. Cela entraînera des fuites de mémoire.
J'ai résolu un problème similaire il y a 2 jours ...
Pour faire court: le thread principal peut avoir de nombreux threads d'interface utilisateur pour effectuer plusieurs travaux, mais si un sous-thread contenant un thread d'interface utilisateur se trouve à l'intérieur, le thread d'interface utilisateur n'a peut-être pas encore terminé son travail alors que son thread parent a déjà terminé son travail, cela provoque des fuites de mémoire.
Par exemple ... pour l'application Fragment & UI ... cela entraînera des fuites de mémoire.
Ma solution est de réorganiser comme ci-dessous:
Pour votre référence.
Je suis Taiwanais, je suis heureux de répondre ici une fois de plus.
la source
Vous pouvez voir le code source de cette sortie ici :
C'est cause par cycle cassé verrouillé ...
la source
J'ai eu une erreur similaire (mon application se bloque) après avoir renommé quelque chose
strings.xml
et oublié de modifier d'autres fichiers (un fichier de ressources xml de préférence et un code java).IDE (android studio) n'a montré aucune erreur. Mais, après avoir réparé mes fichiers xml et mon code java, l'application a bien fonctionné. Alors, peut-être qu'il y a de petites erreurs dans vos fichiers xml ou vos constantes.
la source
J'ai eu le même problème. Le mien était dû à un troisième pot, mais le logcat n'a pas attrapé l'exception, j'ai résolu en mettant à jour le troisième pot, j'espère que cela vous aidera.
la source
Lorsque j'ai rencontré cette erreur, quelque part dans votre code, vos fonctions ou bibliothèques qui utilisaient s'exécutaient sur différents threads, alors essayez d'appeler tout le code sur le même thread, cela a résolu mon problème.
Lien de référence Google
la source
J'ai eu le même problème mais le mien était dû à une fuite de mémoire de base de données Android. J'ai sauté un curseur. Donc, l'appareil plante pour réparer cette fuite de mémoire. Si vous travaillez avec la base de données Android, vérifiez si vous avez sauté un curseur lors de la récupération de la base de données
la source
Cela m'est également arrivé lors de l'exécution d'un jeu en utilisant and-engine. Il a été corrigé après avoir ajouté le code ci-dessous à mon manifest.xml. Ce code doit être ajouté à votre activité principale.
la source
J'ai eu le même problème. Pour résoudre l'erreur: fermez-le sur l'émulateur, puis exécutez-le à l'aide d'Android Studio.
L'erreur se produit lorsque vous essayez de réexécuter l'application alors que l'application est déjà en cours d'exécution sur l'émulateur.
En gros, l'erreur dit: "Je n'ai plus le canal existant et je supprime la connexion déjà établie" car vous avez à nouveau exécuté l'application depuis Android Studio.
la source
J'avais le même problème aussi. Dans mon cas, cela a été causé lors de la tentative de reproduction de vidéos avec une mauvaise codification (trop de mémoire). Cela m'a aidé à détecter l'erreur et à demander une autre version de la même vidéo. https://stackoverflow.com/a/11986400/2508527
la source
Dans mon cas, ces deux problèmes se produisent dans certains cas, comme lorsque j'essaie d'afficher la boîte de dialogue de progression dans une activité qui n'est pas au premier plan. Donc, je ferme la boîte de dialogue de progression dans onPause du cycle de vie de l'activité. Et le problème est résolu.
Impossible de démarrer cet animateur sur une vue détachée! révéler l'effet BUG
REPONSE: Impossible de démarrer cet animateur sur une vue détachée! révéler l'effet
Pourquoi j'obtiens une erreur «Le canal est irrémédiablement cassé et sera éliminé!
REPONSE: Pourquoi j'obtiens une erreur "Le canal est irrémédiablement cassé et sera éliminé!"
la source
J'ai eu ce problème et la cause était en fait une NullPointerException. Mais cela ne m'a pas été présenté comme tel!
ma sortie: l'écran est resté bloqué pendant une très longue période et ANR
Mon état: le fichier xml de mise en page a été inclus dans une autre mise en page, mais a référencé la vue incluse sans donner d'identifiant dans la mise en page jointe. (J'ai eu deux implémentations similaires de la même vue enfant, donc l'ID de ressource a été créé avec le nom donné)
Remarque: il s'agissait d'une disposition de boîte de dialogue personnalisée, donc vérifier d'abord les boîtes de dialogue peut aider un peu
Conclusion: une fuite de mémoire s'est produite lors de la recherche de l'ID de la vue enfant.
la source
Pour moi, cela a été causé par une image d'écran de démarrage trop grande (plus de 4000x2000). Le problème a disparu après avoir réduit ses dimensions.
la source
En lisant toutes les contributions, il semble que de nombreuses origines différentes présentent les mêmes symptômes.
Dans mon cas par exemple - j'ai eu ce problème dès que j'ai ajouté
aux propriétés de ma barre de progression. Je pense que le concepteur GUI d'ADT est connu pour plusieurs bogues. Par conséquent, je suppose que c'est l'un d'entre eux. Donc, si vous rencontrez des problèmes similaires (qui n'ont tout simplement pas de sens) après avoir joué avec votre configuration GUI, essayez simplement de revenir en arrière et d'annuler vos dernières modifications de l'interface graphique.
Appuyez simplement sur Ctrl + z avec le fichier récemment modifié à l'écran.
Ou:
L'outil de contrôle de version peut être utile. Ouvrez le panneau Contrôle de version - choisissez l'onglet Changements locaux et consultez les fichiers récemment modifiés (peut-être .xml).
Cliquez avec le bouton droit sur l'un des plus suspects et cliquez sur Afficher les différences. Ensuite, devinez quelle ligne modifiée pourrait être responsable.
Bonne chance :)
la source
Cette erreur s'est produite en cas de fuite de mémoire. Par exemple, si vous avez un contexte statique d'un composant Android (activité / service / etc) et qu'il est tué par le système.
Exemple: commandes du lecteur de musique dans la zone de notification. Utilisez un service de premier plan et définissez des actions dans le canal de notification via PendingIntent comme ci-dessous.
Et si ce canal de notification est brusquement brisé (peut être par le système, comme dans les appareils Xiomi lorsque nous nettoyons les applications d'arrière-plan), alors en raison de fuites de mémoire, cette erreur est générée par le système.
la source
Dans mon cas, j'utilisais la bibliothèque Glide et l'image qui lui était passée était nulle. Donc, il jetait cette erreur. J'ai mis un chèque comme celui-ci:
Et cela a bien fonctionné. J'espère que cela aide quelqu'un.
la source
J'ai eu le même message logcat, réalisez simplement que la valeur string.xml du tableau ne peut pas être un nombre / chiffre, mais que seul le texte / alphabet est autorisé.
la source
Dans mon cas, cette erreur se produit parce que je ne suis pas connecté à Firebase Firestore mais qu'il utilise le même.
Pour résoudre le problème, accédez à Outils-> Firebase
lorsqu'une fenêtre s'ouvre sur RHS, choisissez les options pour -> Connecter votre application à Firebase -> Ajouter Cloud Firestore à votre application
la source