如果我从列表中删除元素 - 这是否意味着我的 RAM 也通过垃圾收集器或以某种方式 cleared/released?

If I remove elements from a List - does this mean my RAM is also cleared/released via the garbagecollector or somehow?

在我的程序中,我在一个循环列表中添加了数百万条记录,因此随着程序的继续,我的 RAM 似乎也在增长(我怀疑是因为新的和新的元素被添加到列表中) - 所以如果一个计时器list.Clear() 中的勾选事件或按钮按下结果:这会立即释放我的 RAM 吗? ram 似乎增长了很多,达到 500mb+,因此亚马逊实例上的免费数量有限,这是一个问题......谢谢!

List 有 Clear() 或 Remove() 方法来清除或删除列表中的项目。 强制清除列表中未使用的对象。或者可以为那些未使用的对象分配空值,以便空分配的对象可以标记 GC 它未在使用中并准备好被收集。

使用后将List Object赋值为Null,也有助于GC处理好。 即:myListVariable = null; 这样内存就可以被GC清除,可以从未使用的Objects中释放出来。

确实不推荐,但是你可以在清除列表后强制垃圾收集器运行?

我找到了这个 link: How to force garbage collector to run?

我会考虑在您的 class 中实现 iDisposable 接口。这将使它成为托管资源,并在您处理完数据后自动清除系统资源。

祝你好运!