如何使用自定义ListAdapter和缓存视图从Android中的ListView回收图像

时间:2013-08-14 02:45:07

标签: java android listview

我的应用程序,我正在工作似乎得到一个错误说我用完了ram。它似乎正在努力点,然后我滚动一些,并且它耗尽内存。当用户滚过它们时,我需要回收列表中的图像。但我只是不知道从哪里开始回收

我正在使用此tut的代码 this is the code i am using

感谢

2 个答案:

答案 0 :(得分:0)

以下是适配器中的错误:

convertView = ( RelativeLayout ) inflater.inflate( resource, null );

你必须检查convertView是否为null,并且只有当它是 - 创建一个新视图,否则使用方法参数提供的convertView

答案 1 :(得分:0)

他们正在实现它的模式称为“Holder Pattern”,并且它用于在ListView中拥有大量视图时使事物加载更快,无论如何,你应该chekout LRU Cache Android - API 12

他们使用一种非常有效的方式来加载图像,首先在缓存中查找它们,如果它在缓存中可用,我们从那里加载,如果不是我们加载图像并添加它。到缓存。!