Я пытаюсь загрузить несколько тысяч маленьких изображений в обработку и отобразить их в виде карты большего размера.Общий размер файлов изображений вместе составляет 130 МБ, однако, когда я запускаю программу, она использует всю мою оперативную память, и я даже получаю OutOfMemoryError
, поскольку использование ОЗУ превышает 2 ГБ.
Что вызывает более чем 10-кратное использование памяти по сравнениюк размеру файла, и есть ли способ, как я могу смягчить это?
РЕДАКТИРОВАТЬ:
Пример кода
ArrayList<PImage> images = new ArrayList<PImage>();
void setup() {
for (int i = 0; i < 2000 /*num of images*/; i++) {
images.add(loadImage(Integer.toString(i) + ".jpg");
}
}
//in reality, never gets here
void draw() {
for (PImage i: images) {
image(i, /*precalculated x and y*/ random(500), random(500));
}
}