我需要在我的应用程序中使用正则表达式搜索文本文件(大约40MB),正如您可以想象的那样,通常需要1分钟左右才能完成。我必须反复这样做。
我想知道在第一次搜索后我是否可以将这些文件保存在RAM中。我可以这样做吗?我的意思是,找到一种明确说明在RAM中保留一段时间的方法。
答案 0 :(得分:1)
将结果保存在将保存搜索结果的自定义对象中。这将把它保存在RAM中(只要你保留对它的引用)。
另外请记住,在Android设备的RAM中分配40 MiB并不是一个好主意,因为RAM在许多低端设备中非常有限。这可以使你的应用程序成为Android的一个非常美味的目标,当它看起来释放内存。
答案 1 :(得分:1)
考虑将搜索结果放在WeakHashMap
中,其密钥仅在您需要存在值的持续时间内存在,例如Activity
的范围。但请注意内存问题。在某些设备上,应用程序的进程可能只有堆大小as low as 16M。