我收到以下指定的错误,
E:\SDK\ndk-bundle\build\core\setup-app-platform.mk
Run Code Online (Sandbox Code Playgroud)
错误:(115)***Android NDK:正在中止.停止.错误:任务':un7zip:compileReleaseNdk'的执行失败.
com.android.ide.common.process.ProcessException:执行进程E:\ sdk \ndk-bundle \ndk-build.cmd时出错,参数为{NDK_PROJECT_PATH = null APP_BUILD_SCRIPT = E:\ appRizort\RizortCardboard\un7zip\build\intermediates \ndk\release\Android.mk APP_PLATFORM = android-25 NDK_OUT = E:\ appRizort\RizortCardboard\un7zip\build\intermediates \ndk\release\obj NDK_LIBS_OUT = E:\ appRizort\RizortCardboard\un7zip\build\intermediates \ndk\release\lib APP_ABI = armeabi-v7a,armeabi,x86,arm64-v8a}
我正在使用RETROFIT进行api调用,我从服务器接收到JSON响应,该响应的大小几乎不超过30kb。JSON将响应解析为复杂的Object时,会引发此错误。
java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 1098852 bytes
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:161)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: android.os.TransactionTooLargeException: data parcel size 1098852 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(BinderProxy.java:510)
at android.app.IActivityTaskManager$Stub$Proxy.activityStopped(IActivityTaskManager.java:4524)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:145)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Run Code Online (Sandbox Code Playgroud)
如果尝试将响应存储在Object类中,然后通过LinkedHashMap获取值,则可以获取数据。但是,这将是一个乏味的过程。
谁能帮助我找出问题所在以及如何找到解决方案?
根据我的研究,这仅适用于版本> = Nougat的android设备。在此之下,它像小菜一碟。
我也尝试了以下提到的一些解决方案:-> onSaveInstanceState.clear()-但这不起作用。 你可以在这里找到帖子
java android exception parcelable transactiontoolargeexception