Maison >Java >javaDidacticiel >Pourquoi mon application Android force-t-elle la fermeture lors de la transmission de grandes quantités de données avec Intent.putExtra() ?
Détermination de la longueur maximale de l'intention méthode putExtra() pour éviter les fermetures forcées
Problème :
Un Android l'application subit une fermeture forcée lors d'une tentative de transmission de données à une autre activité via un objet Intent. Ce problème se produit sur certains appareils mais pas sur d'autres.
Analyse du code :
L'application appelle la méthode onConsoleMessage() dans la classe WebChromeClient et envoie le contenu HTML à une autre activité (ReadDataActivity). en utilisant la méthode putExtra() de l'objet Intent.
Possible Cause :
La fermeture forcée peut être provoquée par le dépassement de la limite de longueur maximale pour les données supplémentaires de l'intention. Selon l'expérience, Android permet de regrouper un maximum de 1 Mo de données dans une intention de communication inter-processus (IPC).
Solution :
Pour résoudre le problème, envisagez d'enregistrer le contenu HTML dans un fichier temporaire et de transmettre uniquement le chemin ou l'URI du fichier à ReadDataActivity. Dans la deuxième activité, lisez le contenu du fichier, effectuez les opérations nécessaires et supprimez le fichier.
Approches alternatives :
Conseils de débogage :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!