【问题标题】:Needs some help debuging. Images downloaded by DownloadManager disappears suddenly需要一些帮助调试。 DownloadManager 下载的图片突然消失
【发布时间】:2013-01-06 03:08:52
【问题描述】:

我有一个非常神秘的问题,我什至不知道如何调试。

我在我的应用程序中尝试做的是下载图像并将它们呈现在画廊中。但有时它们会消失(不是全部)。即使我不使用应用程序。到目前为止,我还没有实现删除功能,所以它不可能是应用程序中导致它的任何东西。 DownloadManager 可以在一段时间后删除它们吗?我正在使用 BitmapFactory 来解码文件。这有关系吗?

有没有人暗示我应该去哪里看?

谢谢

编辑:只是为了说清楚。文件下载有两种方式。一个在第一次启动,第二个是每 X 分钟服务一次。只是为了确保我关闭了服务。初始化图像后,一切正常。但一段时间后(例如两个小时后),其中一些消失了。

【问题讨论】:

  • 很简单:检查以确保文件存在于 SD 卡上或您将它们保存到的任何位置。如果它们存在,您就知道问题就在您身边(很可能是,因为 DownloadManager 只是下载文件,仅此而已)。您应该发布有关如何加载/显示/缓存图像的代码
  • @dymmeh 也许我应该编辑以使我的帖子清晰。是的,它们已下载。我使用 Astro 文件管理器检查它们是否存在。今天发生了两次。两小时后一次。我很高兴发布代码,但不确定是哪一部分。
  • 排除一切总是好的 :) 您是否在加载位图后对其进行缓存?
  • @dymmeh。是的。我正在使用 LruCache 来缓存它们。

标签: android image file download download-manager


【解决方案1】:

缓存是否已满?您是否检查过引用没有被垃圾回收?

【讨论】:

  • 是的,它确实已满。然后删除内存中的最后一个图像并替换为正在显示的图像。为什么引用和垃圾收集器很重要?这些是不在内存中的驱动器上的文件。
  • 我假设您正在显示直接从缓存中读取的图像?一旦从缓存中删除该条目,它就不会存在于内存中,但仍然在您的 sdcard/flash 上,除非您从中删除图像。尝试将您想要的图像重新加载到缓存中。您可能无法将整个专辑存储在主内存中,因此您可能需要弄清楚如何根据当前显示的图像动态重新填充缓存。
  • 如果图像不在缓存中,则从卡中加载。这工作正常。问题是文件消失了。我开始怀疑这可能是 Astro 文件管理器中的错误(我在测试重新开始时使用删除文件)。
猜你喜欢
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 2017-06-10
相关资源
最近更新 更多