Olá Pessoal!
 
Meu problema é o seguinte: Tenho uma aplicação Swing, e em um dos componentes eu coloco uma imagem na tela.
O problema é que a imagem (JPG) possui 1.6Mb e é composta por mais de 15 milhões de pontos.
 
Quando o programa faz loading na imagem, o espaço utilizado pela VM sobe assustadoramente de 8Mb para 75Mb!
 
Vocês sabem como eu poderia carregar a imagem de forma mais "leve", ou talvez carregar uma parte menor da imagem? (já que a imagem inteira não cabe na tela mesmo, e foi preciso utilizar barras de rolagem).
 
à baixo, um exemplo do código utilizado para Gerar a imagem e mostra-la na tela:
 

public class ImageTest extends JPanel{
   private ImageIcon img;
 
   public ImageTest(String src){
      img = new ImageIcon(ImageTest.class.getResource(src));
   }
 
   public void paint(Graphics g){
      if(img!=null)
         img.paintIcon(this,g,0,0);
   }
}

 
 
OBS: Já tentei utilizar o comando -Xmx para a VM, limitando o uso de memória, e o resultado foi um OutOfMemoryError.
 
 
Luiz Felipe Molina.

Responder a