滚动浏览 gridview 时出现 OOM 错误
OOM error when scrolling through gridview
我正在开发一个带有一堆可点击 gif 的 android 应用程序。
我创建了一个可滚动的 gif 网格视图。这些 gif 是来自 https://github.com/sbakhtiarov/gif-movie-view 的 gifmovieview。每次我滚动时,图像都会不断加载到内存中,最终在列表上下滚动大约 6-10 次后导致 OOM 错误。
我该如何解决这个问题?并可能添加平滑滚动?
您可能将所有 GIF 都保存在内存中。使用 LRUCache 来限制一次内存中的 GIF 数量。
平滑滚动问题可能是由于图像解码造成的。将其移至单独的线程,并在完成之前显示占位符图像。
我没有正确回收图像,所以它们没有从内存中删除或重复使用,而是不断地相互叠加。
我将 convertView!=null 更改为 convertView==null 并将 inflate 放入其中。
我正在开发一个带有一堆可点击 gif 的 android 应用程序。
我创建了一个可滚动的 gif 网格视图。这些 gif 是来自 https://github.com/sbakhtiarov/gif-movie-view 的 gifmovieview。每次我滚动时,图像都会不断加载到内存中,最终在列表上下滚动大约 6-10 次后导致 OOM 错误。
我该如何解决这个问题?并可能添加平滑滚动?
您可能将所有 GIF 都保存在内存中。使用 LRUCache 来限制一次内存中的 GIF 数量。
平滑滚动问题可能是由于图像解码造成的。将其移至单独的线程,并在完成之前显示占位符图像。
我没有正确回收图像,所以它们没有从内存中删除或重复使用,而是不断地相互叠加。
我将 convertView!=null 更改为 convertView==null 并将 inflate 放入其中。