0

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

但我真正想要的是消除不断将特定位图重新绑定到 ImageView 的情况。由于 gridview 正在重用视图,getView 方法必须不断重置 ImageView 并从内存中重新加载图像。这会产生一个非常愚蠢的效果,因为项目会滑出屏幕,并且当从内存缓存中读取位图并将其发布到 ImageView 时会产生延迟。

有没有办法让 GridView '坚持'更多的意见,而不是真正节俭?我最多有大约 20 个项目,并且我正在缩放所有位图,所以如果可能的话,我真的很想保留更多的视图。

4

1 回答 1

0

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

于 2013-02-22T01:54:16.490 回答