在片段上保存状态会由于包裹对象而产生堆叠率误差



我在一个活动下使用2个不同的片段。其中一个片段包含一个列表,另一个片段包含列表中每个元素的详细视图。当活动创建片段时,在新实例上将2个对象作为参数传递。

这是一个复杂的对象,内部有许多字段(bigintegers,arraylists,strings ..)。该对象实现包裹物以与片段一起使用。当信息通过片段时,解析数据没有任何问题,实际上,我认为该对象必须以保存状态为顺序,而不是作为片段之间的参数传递。

此对象包含一个对象列表中,其中包含对主列的引用。将O1作为对象1和O2作为对象2,这将是"图形"解释:

o1:

  • 字符串
  • biginteger
  • arraylist
  • ....
  • arraylist

o2:

  • biginteger
  • o1< --------这是对O1对象的引用

当我离开活动(通过单击手机中的家庭)并试图保存状态时,我会遇到星际流程错误。这可能与包裹可在无限循环中进入试图保存整个对象而不是参考的无限循环?我曾在Android上掌握可穿戴的对象遇到了许多麻烦。

不是完全精通包裹的方式和其工作方式,但是对我来说,这似乎是参考循环 - 即,对象通过其一个或多个属性引用自身。

如果可以循环回到任何实例,请参见包裹的类别。

最新更新