This question提出了与以下代码相关的问题(从该问题中复制):
public MyClass {
public void initialize(Collection<String> data) {
this.data = data; // <-- Bad!
}
private Collection<String> data;
}
通过意外地将数据注入私人字段data
,存储引用为错误打开了大门。 Aaron Digulla接受的回答建议在传递之前用Collection.setUnmodifiable(set);
冻结集合的策略,但是他提到权衡是一个性能损失,因为任何想要修改集合的人都需要复制它,更改它,然后保存回来。
在极度资源有限的Android环境中处理此问题时是否有最佳做法?
答案 0 :(得分:3)
在我看来,只需保留参考。一个Android应用程序不包含太多代码,您或您的开发团队控制所有源代码。所以最简单的解决方案适用于大多数情况。