做gc.收集释放我删除的变量的内存?

2024-04-19 00:06:25 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我使用del huge_object,然后使用gc.collect(),它会释放huge_object占用的内存吗


Tags: 内存objectgccollectdelhuge
1条回答
网友
1楼 · 发布于 2024-04-19 00:06:25

简而言之:这取决于。。。你知道吗

长答案:这取决于huge_object是否是实际对象的最后一个引用。如果是(例如,因为它是唯一存在的引用),则该对象将被标记为垃圾可回收,其内存将由nectgc.collect()回收。但事实并非如此:

huge_object = Huge_Class()
x = huge_object
del huge_object
gc.collect() # does not free memory for the huge object

只有引用已被销毁,只要x存在,对象将保持活动状态。你知道吗

相关问题 更多 >