微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关闭PdfRenderer是否重要,何时关闭

如何解决关闭PdfRenderer是否重要,何时关闭

我在我的应用中使用PdfRenderer用户可以在此应用中打开PDF文件并浏览。他可以在同一会话中打开另一个PDF文件

我刚刚注意到,在使用后或打开新PDF之前,我根本不关闭它。我只是执行以下操作:

mPdfRenderer = new PdfRenderer(mFileDescriptor);

the Google example中,尽管PdfRenderer在使用后始终关闭

if (null != mCurrentPage) 
  mCurrentPage.close();
mPdfRenderer.close();
mFileDescriptor.close();

在打开新PDF之前调用close()是否重要?

解决方法

注意:这是一个笼统的答案,将涵盖包括您在内的所有情况

在一般实践中,您需要释放绑定到任务的资源,更准确地说,是 Non-preemptive 资源,这被认为是最佳实践,但是删除如今,池中的工作线程并不是非常关键,总之,对于您的答案

  1. 如果您要采用最佳做法,则可以这样做
  2. 如果您不这样做,则在应用程序关闭时 Garbage Cleaner 将在需要资源或计划进行清理时为您完成任务

何时清理资源或关闭worker Threads

  1. 要关闭应用程序时
  2. 当您需要其他任务时,您知道该任务将占用大量资源,并且要使您的应用程序高效,您真的想这样做。
  3. 当您想离开您的应用程序 onPause() 时,您的应用程序会暂时存在(被认为是最佳实践,但大多数开发人员不这样做,因为有时,这些过程可能会由于进行了捆绑处理,因此需要花费更多的资源来重新启动[许多进程可能在 onStart() ]上启动)

对于您的问题的答案,我希望以上声明可以澄清所有问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。