Android Bundle错误:解组未知类型代码

时间:2010-10-14 01:34:11

标签: android bundle android-2.2-froyo

我正在使用Android中相当复杂的数据编辑活动,在保存表单数据时会大量使用bundle对象。

总的来说,这非常有效,而且我没有遇到任何数据丢失。但是我有一个奇怪的间歇性错误,我似乎无法找到它的直接原因。

当我向图库发送意图(使用startActivityForResult)以使用户能够选择个人资料图像时,会发生这种情况。在包中返回一个小的(96x96)位图,并将此数据保存到其配置文件中。这在大约90%的时间内完美无缺地工作,但是在某些情况下,它不会返回保存在一个包中的图像,而是返回一个无法解析的包。如果我让设备在图库选择模式下停留几分钟,则会经常发生这种情况。 (> 5分钟的空转)。

当我尝试访问bundle的任何功能时,我得到以下运行时异常:

java.lang.RuntimeException:Parcel android.os.Parcel@44a06078:在392偏移量解组未知类型代码-8913000

值得注意的事项: o发生此错误时,似乎编辑活动已被销毁,需要重新创建。 (在错误发生之前,它会继续进行onCreate,onStart和onRestoreInstanceState(崩溃发生的地方))。 o这似乎导致它跳过“onActivityResult”部分(或者至少从未达到过这一点)。 o在onRestoreInstanceState中检索的bundle对象不为null,但对该对象的任何其他访问(包括检查其是否为空)都会导致此崩溃。 o通过检查bundle源代码,我发现崩溃似乎源于使用存储的int标志执行内部类型检查的bundle。当int标志出现不在列表中的类型时发生错误(到目前为止它一直是-8913000)。 o到目前为止我只在froyo上看到过这个错误(2.2)

有没有人遇到类似的错误?有没有人建议下一步去哪看?

与此同时,我将尝试将可能可以发布的这部分代码的精简版本放在一起,看看是否仍能重现问题。

0 个答案:

没有答案