Bom dia galera, estou carregando um pdf e realizando buscas nele, geralmente esse pdf tem entre 450 a 550 páginas e ± 15 Mb. Quando ele carrega o pdf, o consumo de memória vai pra 470 MB, até que aí não me importo muito, mas depois que acaba o processo e o programa dorme, o consumo de memória continua o mesmo, e quando volta o processo novamente sempre vao aumentando mais um pouco. Estou fechando o arquivo corretamente. Segue abaixo a classe:
[code]public class Pdf {
private static String caminho;
public static void setEnderecoRecurso(String enderecoRecurso) {
Pdf.caminho = enderecoRecurso; //endereço dos ficheiros
}
public static String getConteudo() {
File arquivo = new File(Pdf.caminho);
FileInputStream is = null;
try {
is = new FileInputStream(arquivo);
} catch (IOException e) {
System.out.println("ERRO: " + e.getMessage());
return null;
}
PDDocument documento = null;
try {
PDFParser pdf = new PDFParser(is);
pdf.parse();
documento = pdf.getPDDocument();
PDFTextStripper stripper = new PDFTextStripper();
return stripper.getText(documento);
} catch (IOException e) {
return "Não é possível abrir o pdf" + e;
} catch (Throwable e) {
return "Erro ao tentar obter o conteúdo do pdf" + e;
} finally {
if (documento != null) {
try {
documento.close();
} catch (IOException e) {
return "Não foi possível fechar o pdf." + e;
}
}
}
}
}[/code]