Android 如何加载非';屏幕上的t

Android 如何加载非';屏幕上的t,android,layout,gridview,scroll,adapter,Android,Layout,Gridview,Scroll,Adapter,我目前有一个gridview,可以显示一些缩略图。我遇到的问题是,当我滚动浏览图像时,我可以看到图像在被替换时从旧图像切换到新图像。所以,我想知道我该如何解决这个问题。有没有办法加载屏幕上没有的图像,这样当我滚动时用户就不必看到图像的变化 避免这种影响的最佳方法是在适配器的getView()方法中首先将映像设置为null。如果映像已加载,则可以检查LRU缓存。如果是,则立即设置,如果不是,则将其作为位图异步加载。将其设置为视图,并将其添加到LRU缓存。这是列表视图回收其视图,您可能需要查看laz

我目前有一个gridview,可以显示一些缩略图。我遇到的问题是,当我滚动浏览图像时,我可以看到图像在被替换时从旧图像切换到新图像。所以,我想知道我该如何解决这个问题。有没有办法加载屏幕上没有的图像,这样当我滚动时用户就不必看到图像的变化

避免这种影响的最佳方法是在适配器的
getView()
方法中首先将映像设置为
null
。如果映像已加载,则可以检查LRU缓存。如果是,则立即设置,如果不是,则将其作为位图异步加载。将其设置为视图,并将其添加到LRU缓存。

这是列表视图回收其视图,您可能需要查看lazyloading图像为什么不创建位图并在必要时绘制它们?创建位图会将图像放入内存。我正在使用通用图像加载程序缓存图像并检查它们是否已缓存。如果可能的话,我想尝试使用UIL。但是,我遇到了一个问题,我必须将位图设置为URI,以便UIL可以处理图像。因此,如果我像你建议的那样预先缓存它,我将没有URI可以传递到UIL中。你看到了吗?你不需要事先缓存图像,只有当它们第一次显示时才需要。您可以在ImageView中看到图像的变化,因为ImageLoader异步加载它们。只需首先在ImageView中将图像设置为null即可清除它们。图像仍然会延迟显示,但至少您不会首先看到旧图像。