使用Qoppa库打开Pdf,特别是在调试时我可以监视堆内存使用率在下面的行执行时变得非常高..
com.qoppa.notes.QPDFNotesView viewer = new QPDFNotesView(this);
在出去我的活动之前,我正在打电话
viewer.releaseDocument();
即使那时堆内存也没有下降。
注意:也尝试使用从qoppa下载的最新qoppapdf.jar
。
答案 0 :(得分:1)
qPDF Toolkit会在调用releaseDocument()时释放它所持有的所有对象。
然而,Java使用"懒惰的内存管理"收集未使用的对象时,垃圾收集器通常会等到内存耗尽,然后才能回收已释放的内存。没有办法强迫这种情况发生,完全由Java JVM实现来决定何时这样做。
当调用releaseDocument()时,查看器使用的内存和对象被释放,但是在一段时间之后它可能不会显示在堆上,或者可能在加载新文档时释放它。 / p>