android - 升级到支持库 23.2.0 后,在偏移量 4752 处解码未知类型代码 6881391

标签 android android-support-library parcelable parcel

我的应用程序在支持库 23.1.1 上运行良好。但是,升级到支持库 23.2.0 后,它开始崩溃。当我从 Activity 导航回主 Activity 时,会发生崩溃(例如,我从主 Activity 的操作栏菜单中打开“关于 Activity ”,然后按后退按钮返回主 Activity ,然后崩溃)。

崩溃日志在这里:

FATAL EXCEPTION: main Process: com.myapp.blah.blah, PID: 22124 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.blah.blah/com.myapp.blah.blah.ui.MainActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@41d10870: Unmarshalling unknown type code 6881391 at offset 4752 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2429) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2493) at android.app.ActivityThread.access$800(ActivityThread.java:166) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5584) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@41d10870: Unmarshalling unknown type code 6881391 at offset 4752 at android.os.Parcel.readValue(Parcel.java:2087) at android.os.Parcel.readArrayMapInternal(Parcel.java:2321) at android.os.Bundle.unparcel(Bundle.java:249) at android.os.Bundle.getSparseParcelableArray(Bundle.java:1273) at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1884) at android.app.Activity.onRestoreInstanceState(Activity.java:989) at android.app.Activity.performRestoreInstanceState(Activity.java:961) at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1145) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2407) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2493)? at android.app.ActivityThread.access$800(ActivityThread.java:166)? at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283)? at android.os.Handler.dispatchMessage(Handler.java:102)? at android.os.Looper.loop(Looper.java:136)? at android.app.ActivityThread.main(ActivityThread.java:5584)? at java.lang.reflect.Method.invokeNative(Native Method)? at java.lang.reflect.Method.invoke(Method.java:515)? at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)? at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)? at dalvik.system.NativeStart.main(Native Method)?

仅当我将开发人员调试选项设置为“不保留 Activity ”时,才会发生崩溃。如果关闭此选项,则不会发生崩溃。

崩溃发生在没有使用 Proguard 的 Debug模式下。

我不会在 Activity 之间传递任何包裹/bundle ,也不使用 startActivityForResult()。

在 Lollipop 之前和之后的设备上都会发生崩溃。

我发现了两个类似的帖子herehere这可能(或可能不)相关。

最佳答案

Unmarshalling exception when using SearchView with an id resource in appcompat 23.2

嗨,它可以通过实现onSavedInstanceonRestore来修复,但不要使用super。这种奇怪的行为

@Override
    protected void onSaveInstanceState(Bundle outState) {
     }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {

    }

关于android - 升级到支持库 23.2.0 后,在偏移量 4752 处解码未知类型代码 6881391,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35652481/

相关文章:

android beacon 库作为 ibeacon 传输

android - TextView 阴影未显示在预览中 - 尽管在真实设备上工作

android - ViewPager setCurrentItem 卡住 UI 线程

java - 旧设备中的 PreferenceFragment?

android - 如何将 Parcelable 对象从子 Activity 传递到父 Activity ?

android - Parcelable 从数组中获取巨大的无限项目直到 OOM

android - 无法破坏 Android Activity

android - android中 "do not keep activities"的主要优缺点是什么

android - 如何在 Material Design 中展开/折叠 android 组件

java - 创建新的可打包对象的正确方法