GridView - 保持更多的屏幕外视图?

时间:2012-12-13 00:27:36

标签: android

我遇到网格视图适配器的问题。适配器会在每次需要特定项目时加载位图。我有一个磁盘缓存和内存缓存,我在滚动时禁用加载,所以一般来说,gridview很快。

但我真正喜欢的是消除不断地将特定的Bitmap重新绑定到ImageView。由于gridview正在重用视图,因此getView方法必须不断重置ImageView并从内存重新加载图像。这会产生一种非常愚蠢的效果,因为当项目从内存缓存中读取并发布到ImageView时,项目会在屏幕外滑动并返回时会有延迟。

有没有办法让GridView“保持”更多视图而不是真正节俭?我最多有大约20个项目,并且我可以缩放所有位图,所以我真的想在可能的情况下继续使用更多的视图。

1 个答案:

答案 0 :(得分:0)

我能够使用更好的内存缓存来解决这个问题。真正的区别是添加一种机制来检查图像是否在内存中,如果所需图像在内存中,则不“重置”视图。对于网格视图来说,没有一种简单的方法可以在屏幕上设置缓存视图的数量,但更好的内存缓存管理使问题不那么明显。