Я сейчас работаю с Java2d и пытаюсь найти хороший способ загрузки и хранения изображений, которые я рисую на экране.Обычно я использую ImageLoader, который я написал давно, в котором все загруженные изображения хранятся по их местоположению в качестве ключа в хэш-карте.Моя проблема сейчас в том, что после загрузки большого количества изображений приложение имеет тенденцию использовать большой объем памяти.
Это логично, потому что для одной анимации мультфильма у меня уже есть карта тайлов размером 1248 x4928, что по моим подсчетам в памяти составляет около 62Мб.Загрузка нескольких из этих мультяшек очень быстро заполнила бы память, и я еще даже не загрузил объекты мира.
Есть ли лучший способ обработки ресурсов изображения?
Я пытался сVolatileImage уже, но даже если они должны храниться в памяти GPU, они все еще потребляют много системной памяти.Кроме того, загрузка файлов изображений на лету, когда это необходимо, может серьезно замедлить весь цикл рисования из-за доступа к диску.