Esta acontecendo uma coisa muito estranha…
estou inicciando o me programa jar por um bat com o seguinte comando:
start java -Xmx512m -jar mapTest.jar "%1"
ou seja minha maquina virtual tem memoria de 512m, certo? mas quando tento abrir uma imagem de 52m no meu programa aparece erro de
Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap space
Dependendo da codificação da imagem, o processo de decodificação despende muita memória. Uma imagem desse tamanho deve literalmente engolir sua memória ram.
Lembre-se que a codificação só existe em disco. Para visualizar a imagem é necessário que exista uma decodificação para bitmap do sistema. É assim que a placa de vídeo funciona.
[quote=oitathi]Esta acontecendo uma coisa muito estranha…
estou inicciando o me programa jar por um bat com o seguinte comando:
start java -Xmx512m -jar mapTest.jar "%1"
ou seja minha maquina virtual tem memoria de 512m, certo? mas quando tento abrir uma imagem de 52m no meu programa aparece erro de
Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap space
o q estou fazendo de errado?[/quote]
Você precisa de todos os pixels dessa imagem na memoria ao mesmo tempo?
então, ele abre imagens ate 21m se o xmx for inicializado com 512, mas imagens maiores do q isso,ele não abre …
gostaria de sabr como posso saber com dois prints quanto é q o java tah utilizanaod de memoria da vm pra abrir essa imagem…
tipo, eu queria dois prints de tela:
um com a memoria disponivel antes de eu abrir uma imagem
e e outro com a memoria disponivel depois q abriu a imagem
[quote=oitathi]então, ele abre imagens ate 21m se o xmx for inicializado com 512, mas imagens maiores do q isso,ele não abre …
gostaria de sabr como posso saber com dois prints quanto é q o java tah utilizanaod de memoria da vm pra abrir essa imagem…
tipo, eu queria dois prints de tela:
um com a memoria disponivel antes de eu abrir uma imagem
e e outro com a memoria disponivel depois q abriu a imagem
alguém sabe como eu posso fazer isso?[/quote]
Você já tentou abrir um arquivo desse tamanho em um software robusto como o adobe photoshop?
Se ele abrir talvez você consiga criar um algoritmo do nível dos codecs dele para abrir. Mas acho que nem o adobe consiga abrir um arquivo dessa maginitude.