在Android上回收膨胀的视图

时间:2013-09-03 16:13:56

标签: java android android-layout android-fragments

我有一个复杂的ViewGroup,用于不时创建的片段。 一次只能显示1个实例片段。

我想知道是否有可能以某种方式存储膨胀的视图,并在重新创建片段时重复使用它。

显然,必须更改视图属性,但至少视图不需要再次膨胀。

我尝试将view元素存储为静态元素,然后检查它是否存在,如果存在,则使用它。

但是,我认为View元素有一些特定于片段的属性,如果你将它与一个具有不同引用id的片段一起使用,它将失败 - 好吧..失败。

有没有人试图缓存夸大的视图并重复使用它们?

1 个答案:

答案 0 :(得分:0)

在不同的片段中重复使用视图似乎非常危险(尽管在同一片段中重用它们是安全的。)

如果上下文发生变化,例如,如果您的活动被重新创建,该怎么办?我想你必须希望没有任何视图调用getContext()并尝试使用活动上下文,因为它将无效并可能导致意外结果。

您可以做的是确保您优化了布局(例如,尽可能避免使用嵌套权重和RelativeLayouts)或使用自定义视图来简化布局。