Насколько велико ваше изображение PNG? Судя по трассировке стека, которую вы мне дали, похоже, вам не хватает места в куче, когда вы пытаетесь создать BufferedImage
из загружаемого вами изображения. Вы можете попробовать изменить размер изображения до меньшего размера.
Вы можете сначала попытаться увеличить размер кучи, чтобы посмотреть, решит ли это проблему - см. Параметр java_arguments для апплета, хотя это не будет постоянным решением (никто не любит память апплет). Вам также следует запустить приложение через профилировщик и посмотреть, что потребляет большую часть памяти. OutOfMemoryError
может означать утечку памяти где-то. Он может даже находиться за пределами вашего класса загрузки изображений, поскольку куча уже может быть переполнена при попытке загрузить изображение, и загрузка изображения вызывает его заполнение. Попробуйте использовать профилировщик в visualvm , так как он расскажет вам крупнейших потребителей.
Надеюсь, это поможет:)
-- Flaviu Cipcigan