Оптимизация памяти Java для работы с изображениями?
вы уверены что вам нужно 500 картинок единоверменно ?
на какой экран это все поместится ?
подтягивайте тольок те картинки которые нужны вам прямо сейчас.
если вам не нужно их показывать а просто как то обработать обрабатывайте по очереди, все равно не держите все в памяти.
Ленивая загрузка решит Ваши проблемы. 500 картинок крутить в памяти это моветон, что-то не так с дизайном вашей программы. Если речь идет об отображении, то как минимум я бы сделал постраничный вывод, или ленивую подгрузку (и выгрузку) при скроле.