Longueur maximale de l'intention putExtra Méthode : Forcer la fermeture
Question :
Face à la fermeture forcée en essayant de changer d'activité après avoir utilisé putExtra pour transmettre le contenu HTML obtenu à partir d'une webView. Je soupçonne que la taille de la chaîne HTML en est la cause.
Réponse :
Le problème vient de la limitation de la méthode putExtra dans une intention. Selon la documentation, vous pouvez regrouper jusqu'à 1 Mo de données dans un bundle pour IPC. Cependant, cette limite peut être inférieure dans les scénarios avec des volumes de transactions élevés.
Solution :
Pour résoudre ce problème, envisagez d'utiliser une méthode alternative pour transférer le contenu HTML :
-
Enregistrer le contenu dans un fichier temporaire : Stockez le contenu HTML dans un fichier temporaire et transmettez le chemin ou l'URI du fichier à la deuxième activité. La deuxième activité peut alors lire le contenu du fichier.
-
Utiliser les préférences partagées : Incorporer les préférences partagées pour stocker le contenu HTML. Cette option est plus simple, mais peut ne pas convenir aux grands ensembles de données.
De plus, les étapes suivantes peuvent aider au débogage :
-
Essayez d'utiliser l'objet Parcelable : Convertissez le contenu HTML en un objet Parcelable et transmettez-le en tant qu'extra au lieu d'une chaîne.
-
Vérifiez les exceptions : Consultez le message de fermeture forcée (si disponible) ou utilisez un outil de débogage pour identifier la ligne de code spécifique à l'origine du problème.
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!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn