Работя върху приложение в Kotlin/rxJava и от известно време се боря с грешка.
Всеки път, когато изляза от приложението, получавам изскачащ прозорец, в който пише: „За съжаление, AppName спря.“.
Получавам тази грешка в конзолата: java.lang.RuntimeException: android.os.TransactionTooLargeException: размер на пакета с данни 896824 байта**enter code here**
Когато използвам телефон с API 23 или по-ниска, грешката не възниква, но с 24 и 25 получавам грешката и приложението се „срива“, СЛЕД като изляза от приложението. И става наистина досадно, както за мен като разработчик, така и разбира се за потребителите.
Грешката възниква всеки път, когато се опитам да изляза от приложението по някакъв начин. Ако щракна върху връзка, която ме отвежда до браузъра, добавя/изпращам лице за контакт от моето приложение към списъка с контакти на телефона или споделям чрез Gmail, Google+, bluetooth и др., възниква грешката. И така, това, което се случва, е, че при всички тези проблеми трябва да изляза от приложението (натисна бутона за начало) или да отворя друго приложение от приложението (контакти, 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)