在 Android 中删除链表的链表



我正在编写一个 android 应用程序,其中包含一些小对象链表的链接列表(每个可能有 3 打 1000 个对象)。

我想选择内存管理策略,因为我经常需要删除并重建它们(由于数据是相互依赖的,因此它比修改状态更容易。

我不知道我是否可以依靠只能在调试模式下工作的 DDMS 工具来处理如此小的列表。

删除其中一个时,我想知道是否通常只清除它(希望 GC 会清除子列表),或者我是否必须自己访问整个结构。

换句话说,我应该

LinkedList<LinkedList<MyObject>> theList = getTheList();
void free(){
    theList.clear();
}

void free(){
    LinkedList<MyObject> subList;
    for(subList:theList) subList.clear();
    theList.clear();
}

一旦 List 元素未被引用,垃圾回收器将自动清理它们。您的第一个建议就足够了。

这不是

c++。在java中很常见,如果您没有任何其他对象引用它们并且将来不会使用它们,GC将删除它们。我会保持简单清晰。

换句话说,如果你想加快你的程序,通过在重新创建这个结构时使用更少的new运算符,我建议使用对象池并重用创建的对象。

相关内容

  • 没有找到相关文章

最新更新