如何防止在listview项目中回收viewpager

时间:2014-01-07 03:48:22

标签: android android-listview android-viewpager android-linearlayout

我在每个列表项中都有一个带有viewpager的列表视图(异步加载图像)。由于listview在滚动viewpager上回收图像,因为当项目离开屏幕时再次实例化。我还考虑使用LinearLayout和适配器来填充而不是listview以防止视图回收,但我不确定它是否可以容纳大型数据列表。任何帮助??

1 个答案:

答案 0 :(得分:1)

你很清楚,更清楚的是你的架构是非常错误的......

视图被回收的原因并不是因为Android要求你做额外的工作,这是因为在移动设备上,内存是有限的。如果某些东西不可见,它应该消失(大部分时间)。

如果你想让某些东西停留更长时间,你可以稍微增加一点ViewPager偏移量,但事实是你的图像加载库应该将图像缓存到下次重新创建它们时,它们立即可用,如果有内存来保持缓存活着,或者只需重新下载它们。欢迎来到移动开发。

Picasso为例(关于如何加载图像并以正确的方式缓存它们)。