我有一个复杂的ViewGroup,用于不时创建的片段。 一次只能显示1个实例片段。
我想知道是否有可能以某种方式存储膨胀的视图,并在重新创建片段时重复使用它。
显然,必须更改视图属性,但至少视图不需要再次膨胀。
我尝试将view元素存储为静态元素,然后检查它是否存在,如果存在,则使用它。
但是,我认为View元素有一些特定于片段的属性,如果你将它与一个具有不同引用id的片段一起使用,它将失败 - 好吧..失败。
有没有人试图缓存夸大的视图并重复使用它们?
答案 0 :(得分:0)
在不同的片段中重复使用视图似乎非常危险(尽管在同一片段中重用它们是安全的。)
如果上下文发生变化,例如,如果您的活动被重新创建,该怎么办?我想你必须希望没有任何视图调用getContext()
并尝试使用活动上下文,因为它将无效并可能导致意外结果。
您可以做的是确保您优化了布局(例如,尽可能避免使用嵌套权重和RelativeLayouts
)或使用自定义视图来简化布局。