问题很简单,如果我让一个对象parcelable,并将其放入一个包中,并使用该包创建一个片段。对象是否被克隆或被引用?Android Parcelable占用更多的内存
上下文。
我有一个对象在ArrayList中存储/引用。取决于ArrayList中的对象类型(使用多态性)。我创建了一个适合处理它的片段。
我还需要将此对象传递给片段。片段在自定义视图寻呼机中使用。我不希望有重复的对象,在我看来,可以克隆的克隆对象。
另一种方法是传递ArrayList中对象的索引。然后使用getActivity()。myList.get(Integer传递给)来从片段中获取对arraylist的引用。但对我来说这似乎不是很安全(ArrayList内容可能会更改,尽管我只是删除所有内容并重新开始)。我也读过,你应该避免将参数传递给fragment构造函数,因为它可能使用默认的无参数构造函数重新创建。
(虽然我正在销毁任何重新创建的碎片,因为在重新贴上正确的视图时出现了一些奇怪的问题,另一篇文章)。
新的子问题:有没有办法通过引用传递值的片段?
这是我以前处理它的方式。只是本来者优先已经做了类似 新的ArrayList 为I
McP
2012-07-13 20:30:03
我曾尝试过这种方法,但是一旦电话被旋转,片段就会比活动更快地创建。所以对象初始化了。 – McP 2012-07-13 23:35:43