【问题标题】:Android Images have trouble loading after firing off lots of activities?启动大量活动后,Android 图像无法加载?
【发布时间】:2011-01-31 06:59:41
【问题描述】:

我有一个简单的应用程序,它显示一系列图像和有关这些图像的信息。我进行了设置,以便当用户触摸图像时,会启动一个新活动,并且他们会看到更多图片和关于该图像的更长文本描述。在那个屏幕上,我还实现了他们在Hello Gallery Tutorial 中的基本图库小部件。

我的问题是,即使我正在从 res 目录中绘制图像(我已将所有内容都放在 drawable-mdpi 中,认为应该没什么大不了的),但并非画廊部分的所有图像将加载。而且我无法 100% 重现它,但似乎我在运行此应用程序的情况下玩手机的次数越多(锁定屏幕、解锁屏幕、转到一张图像、返回、转到另一张图像、回家等),我在本地加载的任何图片更有可能显示空白图像占位符,画廊与否(虽然文本很好)。

我正在使用一系列图像按钮、图像视图和画廊小部件。玩够了,最终它们都变成了空白,但是通过 AdvancedTaskKiller 杀死所有东西又让它回来了。

当我第一次启动我的应用程序时,有时我的图片库中的图片也会是空白的。这真的很奇怪。我已将其设置为 layoutparams 为 300 x 200,并且我已将图片拉到所有地方以填充我的画廊。它们应该只是以不同的方式扩展,但不能完全加载。

有人对这些有什么想法吗?

【问题讨论】:

    标签: android image


    【解决方案1】:

    请尝试 Slow Adapter 访问图库。

    我建议采用1,2,3

    【讨论】:

    • 我认为这绝对是内存泄漏的事情。过了一会儿,画廊里的图像全部恢复了。这让我觉得垃圾收集器在某个时候开始了。这就是我的代码的样子:code
    • 好的,这就是我的意思:我认为这肯定是内存泄漏的事情。过了一会儿,画廊里的图像全部恢复了。这让我觉得垃圾收集器在某个时候开始了。这是我的代码的样子:pastebin.com/fBq5T2Cf 我认为此时仍有画廊的实例。我也尝试在 AndroidManifest.xml 中添加活动修饰符(noHistory=true)。也许无论出于何种原因它都不起作用......
    【解决方案2】:

    处理图像总是很困难。您必须非常小心地回收图像已使用的内存,否则您可能会遇到不同类型的麻烦。

    始终尝试使用 Android 开发人员常用的良好图像加载库。

    最常用的库是https://github.com/nostra13/Android-Universal-Image-Loader

    它将优化您的加载。

    【讨论】:

      猜你喜欢
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多