Я работаю над App в Kotlin / rxJava, и я некоторое время боюсь с ошибкой.
Каждый раз, когда я выхожу из приложения, я получаю всплывающее окно, где говорится: «К сожалению, AppName остановился».
Я получаю эту ошибку в консоли: java.lang.RuntimeException: android.os.TransactionTooLargeException: размер пакета данных 896824 байта **enter code here**
Когда я пользуюсь телефоном с API 23 или ниже, ошибка не возникает, но с 24 и 25 я получаю сообщение об ошибке, и приложение «сбой» ПОСЛЕ того, как я вышел из приложения. И это становится очень раздражающим, как для меня, так и для разработчиков, и, конечно же, для пользователей.
Ошибка возникает всякий раз, когда я пытаюсь выйти из приложения любым способом. Если я нажму на ссылку, которая приведет меня в браузер, добавьте / отправьте контактного лица из моего приложения в список контактов на телефоне или поделитесь через Gmail, Google+, Bluetooth и т. Д. Ошибка возникает. Итак, что происходит, так это то, что по всем этим проблемам я должен выйти из приложения (нажмите кнопку homebutton) или открыть другое приложение из приложения (контакты, gmail и т. Д.), И приложение выйдет из строя.
Я также могу отметить, что когда я добавляю человека из своего приложения в список контактов телефонов, вся информация отправляется, и я могу добавить человека.
Кто-нибудь знает, почему это происходит? Не стесняйтесь спрашивать меня о более подробной информации, если это необходимо, у меня была эта ошибка некоторое время, и это очень раздражает.
Полная ошибка:
04-12 08:46:18.128 23287-23287/com.****.***** E/AndroidRuntime: FATAL EXCEPTION: main Process: com.******.*******, PID: 23287 java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 896824 bytes at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3781) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) Caused by: android.os.TransactionTooLargeException: data parcel size 896824 bytes at android.os.BinderProxy.transactNative(Native Method) at android.os.BinderProxy.transact(Binder.java:615) at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:3636) at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3773) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Это вызвано тем, что пакет ActivityInstanceState Activity слишком велик. Вам нужно проверить, какие объекты сохраняются при вызове onPause. У меня была такая же проблема, когда я имел дело с растровыми изображениями. Я считаю, что на самом деле это проблема только для более новых версий Android, так как теперь она вместо этого просто исключает исключение.