2012-08-01 92 views
0

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

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

几点注意事项:

  • inSampleSize不是很长的路要走,我无法扩展这些图像下来

  • 调用上可绘制的,从资源加载是不可能再循环(),因为它会在Android 4.0+上崩溃(它将回收内部缓存中的绘图)

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

回答

2

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

我觉得ViewPager是你要找的东西,因为它只会在内存中保留至多3张图片,并且为你回收所有的回收。以下是有关如何实施一个的更多信息的帖子android viewPager implementation

+0

谢谢您的回答。 ViewPager不适用于我,因为我需要使相邻图像的一部分可见。我想我只需要与Horizo​​ntalScrollView一起去。 – 2012-08-01 17:11:13

+0

啊。是。我将检查4.0中介绍的People应用程序的代码。当您查看ContactDetails时,您可以在右侧看到他们的一些状态,然后当您滑动时,它会滚动并捕捉。这是与HSV加上一些捕捉逻辑。 – 2012-08-01 17:17:56