JasperViewer - limpar da memória

4 respostas
RenataFA

Boa tarde,

Percebi que cada vez que abro um relatório no Jasper, ele aumenta o consumo de memória da minha máquina, mas quando fecho esse rel o consumo não é reduzido.
Claro que o tanto que aumenta depende da quantia de páginas do relatório em questão.

Queria saber onde são armazenadas (em que tipo de objeto) os dados das páginas do meu relatório. Gostaria de acessar isso e anular seu conteúdo quando fecho o relatório.

Alguém me ajuda?

Grata,
Renata

4 Respostas

F

Olá, Boa Tarde!

Coloque o código que você fez para gerar o relatório.

RenataFA

Olá amigo!

Teste com seu código e verá que faz a msma coisa, vai inclusive se surpreender.
Todo mundo que perguntei por MSN sobre isso se assustou ao ver que seu sistema faz a msma coisa e ele nem sabia…

Abaixo um trechinho do meu código, simplificando pra vcs. Mas não existe problema nenhum na chamada dos relatórios, existe sim problema em quando eu fecho os relatórios. Eu não tenho nada programado quando fecho os relatórios, e deveria ter, algo deveria limpar… :cry:

JasperReport jr = (JasperReport)JRLoader.loadObject(getClass().getResource("meuRelatorio.jasper")); JasperPrint impressao = JasperFillManager.fillReport(jr,parameters,conexao); // onde conexao é minha conexao ativa com o BD JasperViewer jasperViewer = new JasperViewer(jasperPrint,false); jasperViewer.setVisible(true);

Tentei usar o Virtualizer mas tb não adiantou em nada… depois que termina o rel ele continua em memória do msm jeito.

Alguma luz?

F

Acabei de fazer o teste e realmente o consumo não é reduzido após fechar o relatório.

O JasperPrint é um JFrame. Pensei que fosse algo no fechamento dele. O default do JFrame é dar um Hide ao fechar, tentei trocar mas não resolveu.

Vou fazer mais alguns testes.

RenataFA

Tentamos algumas coisas aqui tb, mas nada que conseguisse fazer ele sumir da memória.

Grata,
Renata

Criado 21 de outubro de 2009
Ultima resposta 22 de out. de 2009
Respostas 4
Participantes 2