使用TextView和ImageView的SimpleCursorAdaptor ListView具有超过400行的内存问题

问题描述

| 这是最好的方法还是还有其他方法? 我扩展SimpleCursorAdapter并覆盖getView(int position,View convertView,ViewGroup父级) 我检索我的游标,给ImageView和TextView充气,提取数据 从游标并填充TextView和ImageView 在ImageView上,我将图像作为Blob存储在数据库中。 检索Blob时,我将其作为byte []拔出并将其转换为 位图如下: 位图bmp = BitmapFactory.decodeByteArray(img,0,img.length); 然后我在ImageView上将Bitmap设置为: iv.setImageBitmap(bmp); 现在我可以向下滚动,没问题,但是当我开始向后滚动时 在列表上我遇到主要的内存问题和零星的跳跃(从什么时候开始 垃圾收集赶上来)。 谁能告诉我完成这项任务的最佳方法是什么 是?有没有办法回收不在视图中的位图, 靠近它们时,将其拉出并再次显示? 我已经搜索了几个月,并尝试了各种技术,但我正在 迷失了寻找可以让我完成这项任务的任务。 先感谢您。     

解决方法

您是否看过此视频:http://www.youtube.com/watch?v=N6YdwzAvwOA 并阅读此主题:如何清除Android中的缓存图像? 基本上,您想回收所有当前不可见的图像。     ,我最终将图像移动到外部存储,并执行了与先前尝试使用数据库相同的延迟加载,并且成功了。从数据库中尝试以某种方式不允许对图像进行垃圾收集。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...