Я запускаю игру, когда я запускаю загрузку изображений в изображениях WeakHashMap
. Когда я запускаю свою игру, моя оперативная память просто продолжает расти, а затем, в конечном счете, мой WeakHashMap
просто выгружает все свои данные. Это относится к сборке мусора? Любые решения?WeakHashMap Случайно очищает
ответ
Как предположил Луис Вассерман, это поведение. Я думаю, вам может понадобиться обычный хэш-файл. Пожалуйста, ознакомьтесь с документами относительно WeakHashMap по адресу http://docs.oracle.com/javase/6/docs/api/java/util/WeakHashMap.html
Вы можете создать HashMap, используя SoftReferences вместо WeakReferences - сборщик мусора будет немного менее охотно собирать его. Просто скопируйте исходный код WeakHashMap, заменив WeakReferences на SoftReferences.
A java.util.WeakHashMap
- это тип карты, который, как может показаться в описании, сохраняет только слабые ссылки на его ключи. Слабые ссылки, как вы знаете, являются ссылками, которые не мешают сборщику мусора собирать ссылочные объекты. Чтобы предотвратить сбор мусора, вы должны поддерживать сильную ссылку на объект где-то.
Если вы хотите, чтобы данные были защищены от сбора мусора, храните их в обычном HashMap
. Для вашего конкретного приложения вы можете написать свою собственную реализацию карты, которая сохраняет мягкие ссылки (ссылки, которые gc только очищает, если это необходимо, а не всегда очищает) к изображениям, и автоматически загружать отсутствующее искусство, когда это искусство призвал к. (Может быть сложно, если вам нужно, чтобы все были потокобезопасными, хотя ...)
- 1. Итерация WeakHashMap
- 2. WeakHashMap пример
- 3. WeakHashMap или HashMap?
- 4. Чисто функциональный эквивалент weakhashmap?
- 5. Как работает weakhashmap?
- 6. java.lang.NegativeArraySizeException с WeakHashMap Keyset
- 7. ConcurrentModificationException с WeakHashMap
- 8. Установите эквивалент WeakHashMap?
- 9. WeakHashMap и WeakReference
- 10. WeakHashMap vs HashMap
- 11. GC оленья кожа удалить объекты из WeakHashMap
- 12. WeakHashMap не удаляет устаревшие записи
- 13. Как WeakHashMap работает под капотом
- 14. уменьшить использование памяти С WeakHashMap
- 15. WeakHashMap и строгое ссылочное значение
- 16. Redis очищает данные сам ..!
- 17. Multimap очищает
- 18. Are WeakHashMap очищается во время полного GC?
- 19. Воссоздать тот же ключ на WeakHashMap
- 20. Аннулирование кэша при получении от WeakHashMap
- 21. Могу я использовать WeakHashMap вместо HashMap
- 22. Как придать шаблон HashMap к файлу WeakHashMap?
- 23. Ссылка на Java WeakHashMap не обновляется
- 24. Почему существует WeakHashMap, но отсутствует WeakSet?
- 25. Это хорошая идея использовать WeakHashMap в ThreadLocal
- 26. Использование WeakHashMap в методе или нет?
- 27. Guava MapMaker(). WeakKeys(). MakeMap() vs WeakHashMap
- 28. Почему объект WeakReferenced не удаляется WeakHashMap
- 29. WeakHashMap со слабо обозначенными значениями вместо ключей
- 30. Очищает интернет-кеш/файлы cookie в браузере, очищает localstorage/websql?
Что вы ожидали? Вы используете только «WeakHashMap», когда хотите, чтобы записи удалялись всякий раз, когда ключ может быть собран из мусора. –
WeakHashMap предназначен для использования в кеше, где данные могут время от времени переходить в «пуф», но могут быть перезагружены из сети или какого-либо другого источника, если это произойдет. –