首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android java对正在销毁的对象的引用

Android java对正在销毁的对象的引用
EN

Stack Overflow用户
提问于 2012-07-18 22:57:40
回答 1查看 458关注 0票数 0

我已经在我的应用程序中设置了自定义水平分页,比如说5页。每个页面都有自己的ListView和ListView适配器。在我的主Activity类中,我有一个自定义对象的ArrayList,我使用它来更新每个ListView。

所以在我的主类中,我可以调用:

代码语言:javascript
复制
lvAdapter.setItems(items);

工作正常。

但是当我打电话的时候:

代码语言:javascript
复制
lvAdapter.clearItems();

我只想让它清除ListView中的项,但实际上它会从我的ArrayList中删除该对象的所有项。我猜Adapter只持有一个引用?

适配器clearItems:

代码语言:javascript
复制
public void clearItems()
{
      this.items.clear();  //this will remove the object in the ArrayList
      this.notifyDataSetChanged();
}

我正在尝试做的是在活跃的可见页面上使用setItems,在那些不可见的页面上使用clearItems。因为当我一次加载所有页面时,我正在处理内存不足崩溃……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-18 23:01:47

您可以清除该ListView的适配器引用,例如listView.setAdapter(null)

我还会阅读有关高效Adapter实现的文章,您可以做几件事来减少内存占用,例如在getView(...)中正确回收视图

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11544307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档