Android画廊的drawables

时间:2012-08-01 16:52:04

标签: android image gallery out-of-memory recycle

我正在创建一个简单的Gallery drawable - 它们中的每一个几乎都是屏幕的大小,所以它们需要相当多的内存。对于每个条目,我正在为标题创建LinearLayoutImageView的自定义TextView。正如大多数人所知,android Gallery不会回收视图,因此它会在低内存手机上轻松崩溃(在我的情况下,在16mb ram限制上加载4个drawable后)。

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

很少注意到:

  • inSampleSize不是一种方法,我无法缩小这些图像

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

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

1 个答案:

答案 0 :(得分:2)

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

我觉得ViewPager是您所寻找的,因为它只会在内存中保留最多3张图片并为​​您处理所有回收。这是一篇帖子,其中包含有关如何实施一个android viewPager implementation

的更多信息