java - WeakHashMap 随机清除

标签 java garbage-collection weakhashmap

我正在运行一个游戏,当我启动时,我将图像加载到图像的 WeakHashMap 中。当我运行游戏时,我的 RAM 不断增加,最终我的 WeakHashMap 只是卸载所有数据。这与垃圾收集有关吗?有什么解决办法吗?

最佳答案

您可以使用 SoftReferences 创建 HashMap而不是 WeakReferences - 垃圾收集器将不太热衷于对其进行 GC。只需复制 WeakHashMap 源代码,将 WeakReference 替换为 SoftReference。

关于java - WeakHashMap 随机清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16290147/

相关文章:

java - JVM 进行了一次完整的 GC,然后就没有剩余的系统内存了

Java:为什么 WeakHashMap 实现了 Map 而它已经被 AbstractMap 实现了?

java - WeakHashMap 是在不断增长,还是会清除垃圾键?

java - 我可以使用递归来简化这个过程吗?

android - Camera.Preview Callback 是否因每一帧都调用 GC Malloc 而效率低下?

c# - Console.ReadKey 与带有计时器的 Console.ReadLine

java - 在 WeakHashMap 上重新创建相同的键

java - IntelliJ IDEA 不断重新索引

java - Maven 插件;使用一个的输出作为另一个的输入

java - 使用包装类来实现 Java 中的 typedef 等效项;我必须公开类变量吗?