【发布时间】:2012-07-13 18:16:11
【问题描述】:
我有一个 Activity,它首先需要在 HashMap 的帮助下根据输入确定输出。我在里面存放了 25 双。
问题是 HashMap 每次活动开始时都会初始化。这让我想到了存储这些对的最佳方式——它们应该在“外部资源”中,还是其他一些解决方案——以使对持久化?
【问题讨论】:
-
我猜 25 双没什么! )
-
你的意思是不费吹灰之力?
-
它被声明为静态的吗?你能欺骗它以某种方式不被垃圾收集吗?为什么内存泄漏在java中很难做到,除非你试图避免它们? :S
-
如果这些对永远不会改变,那么您可以专门为这 25 个对创建一个
SheredPreferences文件。当您第一次将它们保存到SharedPreferences时,您需要遍历HashMap并单独放置每一对,但可以使用getAll()方法简单地完成它。也许有点不合常规,但它应该可以工作。 -
我认为你不应该为此烦恼。只需创建一个私有 HashMap 对象。 25对消耗的内存不多。我不认为使用 SharedPreferences 更好。它们正在处理文件,但您仍然需要分配内存来处理它们的值。