Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 运行时异常:在偏移量236处解组未知类型代码3145776_Android_Parcelable_Android Proguard - Fatal编程技术网

Android 运行时异常:在偏移量236处解组未知类型代码3145776

Android 运行时异常:在偏移量236处解组未知类型代码3145776,android,parcelable,android-proguard,Android,Parcelable,Android Proguard,我想将一个可包裹的对象传递给另一个活动。这些对象包含一个位图,在某些情况下会出现错误:RuntimeException:在偏移量236处解组未知类型代码3145776。代码如下: _profilePicture = (Bitmap) in.readValue(Bitmap.class.getClassLoader()); 奇怪的是,并不是所有对象都像其他答案中建议的那样发生这种情况。我将这段代码粘贴到我的proguard文件(用于优化的文件,而不是“proguard android.txt”文

我想将一个可包裹的对象传递给另一个活动。这些对象包含一个位图,在某些情况下会出现错误:RuntimeException:在偏移量236处解组未知类型代码3145776。代码如下:

_profilePicture = (Bitmap) in.readValue(Bitmap.class.getClassLoader());
奇怪的是,并不是所有对象都像其他答案中建议的那样发生这种情况。我将这段代码粘贴到我的proguard文件(用于优化的文件,而不是“proguard android.txt”文件)的某个地方:


但它不起作用。

不要在活动之间传递位图。传递引用并在每个活动中分别加载它们。它可能“有时”起作用,因为某些对象的大小较小,而包裹实际上具有最大大小。(答案与proguard无关)好的,我没有想到,谢谢你位图部分是100%正确的,传递Uri,如果需要,使用静态缓存在每个地方独立加载它们。不要使用
Bitmap.class.getClassLoader()
,这将使用system classloader,system classloader不会加载自定义类。使用
someCustomParcelableYouWrite.class.getClassloader()
-keepclassmembers class * implements android.os.Parcelable {
    static ** CREATOR;
}