0

我正在创建一个简单Gallery的可绘制对象 - 它们中的每一个几乎都有屏幕大小,因此它们需要相当多的内存。对于每个条目,我正在为标题创建一个自定义LinearLayout项。正如你们大多数人所知,android不会回收视图,因此它的画廊在低内存手机上很容易崩溃(在我的情况下,在 16mb ram 限制加载 4 个可绘制对象之后)。ImageViewTextViewGallery

这是一个简单的问题 - 你如何实现这样的画廊,所以它不会耗尽内存?你如何回收这些图像?一个工作代码示例会很棒。

几点注意事项:

  • inSampleSize 不可行,我无法缩小这些图像

  • 在从资源加载的 Drawable 上调用 recycle() 是不可能的,因为它会在 Android 4.0+ 上崩溃(它会在其内部缓存中回收 drawable)

  • 不要让我发布代码,因为没有。

4

1 回答 1

2

您不应该使用 Gallery,因为它已被弃用。特别是因为到目前为止还没有编写任何代码。文档建议使用 Horizo​​ntalScrollView 或 ViewPager。

我觉得 ViewPager 是您正在寻找的,因为它最多只能在内存中保留 3 张图片并为​​您处理所有回收。这是一篇有关如何实现一个android viewPager 实现的更多信息的帖子

于 2012-08-01T16:56:00.030 回答