[JAVA] [Android] Causes et remèdes pour TransactionTooLargeException

un événement

Les erreurs suivantes sont mesurées sur Android.

Fatal Exception: java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 3181388 bytes
       at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3950)
       at android.os.Handler.handleCallback(Handler.java:790)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6501)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Cause

Si vous avez une grande quantité de données de 1 Mo ou plus dans l'intention, vous pouvez obtenir cette erreur et planter.

approche

Il est difficile de savoir où se situe le plantage à partir du message d'erreur. Utilisez ʻonSaveInstanceState pour identifier des zones telles que .putExtra / .getExtraet.putParcelable / .getParcelable`, et traitez les zones où 1 Mo ou plus est susceptible d'être défini.

Les données cibles sont temporairement sauvegardées dans un fichier ou similaire au moment de «onPause», puis rappelées et développées au moment de «onResume». Si vous voulez l'enregistrer dans un fichier, vous pouvez conserver le chemin dans l'intention et le supprimer avec ʻonDestroy`.

Recommended Posts

[Android] Causes et remèdes pour TransactionTooLargeException
[Android] Modifiez le nom de l'application et l'icône de l'application pour chaque saveur
À propos de l'instruction et de l'instruction if
valeur par défaut d'Android: exporté
Solution pour l'erreur Selenium InvalidSelectorException
RxAndroid et RxSwing Scheduler
Créer un environnement Spring pour Android 2.0.0
Instructions Java while et for
Intel Multi-OS Engine (MOE), une bibliothèque multiplateforme pour Android et iOS
[Android Studio] [Pour les débutants] Expliquons grossièrement l'écran et le répertoire
Introduction au développement d'applications Android 1 Installation de JDK et d'Android Studio pour mac