Heap space, muito estranho!

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?

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.

[color=darkblue] Tente aumentar, tente usar os parâmetros dessa forma : [/color]

-Xms256m -Xmx512m -XX : PermSize=128m -XX:MaxPermSize=256m  

[color=darkblue] Ou da forma que você preferir [/color]

[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?

Sim, eu preciso, pq é a imagem de uma mapa… e preciso visualiza-lo inteiramente para que possa achar qq ponto nessa mapa tento latitude e longitude

Faz um teste assim:

1º Aumenta a memória e testa;
2º Tenta com uma imagem menor;

Posta ai depois…

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=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.

Pode até abrir, mas tenho minhas dúvidas.