Erro ao recarregar uma determinada imagem

3 respostas
levimendes

Estou desenvolvendo um sistema, e nesse sitema eu preciso carregar imagens,
e o que está acontecendo é o seguinte, eu carrego uma imagem, e depois quando eu
a fecho e preciso abrí-la novamente aparece o seguinte erro:

[color=red][size=18]java.lang.OutOfMemoryError: Java heap space[/size][/color]

pelo que me parcece é algum problema com falta de memória, alguém poderia me ajudar :?: :?: :?:

3 Respostas

eberson_oliveira

O Garbage colector não conseguiu coletar seus objetos, então quando a sua aplicação solicitou alocação na memória esse erro lançado.
Como você está carregando a sua imagem? Pode postar o código?

[]s
Éberson

levimendes
public void mostraImagemNaTela() {
	
		Image image;
		File arquivo;
		int altura = 0, largura = 0;
		JFileChooser abreDialogo = new JFileChooser("./dados");
		int retorno = abreDialogo.showOpenDialog(null);
		abreDialogo.setFileFilter(new FileNameExtensionFilter("Apenas gif, jpg, " +
									"jpeg e png","jpg","jpeg","gif","png"));
		try{
			if (retorno == JFileChooser.APPROVE_OPTION){
				
				arquivo = abreDialogo.getSelectedFile();
				image = ImageIO.read(arquivo);
				
				largura = image.getWidth(null);
				altura = image.getHeight(null);
				
				RedimenssionaImg red = new RedimenssionaImg();
				img = new ImageIcon(red.redimImgPorAltura(image, alturaPainel-14));

				
				lblImagem.setSize(img.getIconWidth(),img.getIconHeight());
				painelRadiografia.add(lblImagem);
				lblImagem.setIcon(img);
				
				scrollPainelRad.setVisible(true);
			}

			
		}
		catch(Exception e){
			JOptionPane.showMessageDialog(null, "Arquivo inválido.",
										  "Atenção",JOptionPane.WARNING_MESSAGE);
		}
	}
eberson_oliveira

Pelo que pude notar os atributos: abreDialogo, arquivo, image são atributos da instância e não do método, correto? Eles podem estar consumindo a sua memória.

Experimente utilizar a VisualVM para fazer um profile no seu sistema afim de descobrir que objeto está consumindo tantos recursos.

Em todo caso, sugiro que verifique se essas variáveis não podem ter escopo de método.

Qualquer coisa posta ae.

[]s
Éberson

Criado 7 de maio de 2010
Ultima resposta 7 de mai. de 2010
Respostas 3
Participantes 2