如何在gridview适配器中回收位图?

JCJ*_*JCJ 2 android

我在我的Android应用程序中有一个网格视图.我正在从服务器加载图像到网格视图.我正在使用延迟加载.我必须回收在这里创建的所有位图.如何在Adapter或Grid视图中执行Bitmap.recycle().我失去了记忆,请帮助我.

Sam*_*udd 7

您需要显示一些代码(至少是您的适配器).如果您出现内存不足错误,则可能无法正确实现视图回收,或者内存泄漏.您也可能只是一次只加载太多大位图,但如果您可以加载视图,则更有可能发生内存泄漏.

如果不看一些代码,没有人能够追踪内存泄漏.Bitmap.recycle()不是一个解决方案,如果代码的其余部分没问题,垃圾收集器将在没有它的情况下运行良好.

请参阅:http://www.youtube.com/watch?v = _CruQY55HOk,了解如何在Android中管理内存并查找内存泄漏.

相关搜索:http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html为如何下载或以其他方式正确异步图像加载到像视图列表的例子.

编辑:还查看我写的图像加载库,所以你不必担心这些:https://github.com/bumptech/glide


Ada*_*amK 5

查看有效显示位图的 Android培训课程.它有一个课程,在UI中显示位图,包括使用后台线程和内存和磁盘缓存在GridView中显示位图.