2024-04-19 00:06:25 发布
网友
如果我使用del huge_object,然后使用gc.collect(),它会释放huge_object占用的内存吗
del huge_object
gc.collect()
huge_object
简而言之:这取决于。。。你知道吗
长答案:这取决于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存在,对象将保持活动状态。你知道吗
x
简而言之:这取决于。。。你知道吗
长答案:这取决于
huge_object
是否是实际对象的最后一个引用。如果是(例如,因为它是唯一存在的引用),则该对象将被标记为垃圾可回收,其内存将由nectgc.collect()
回收。但事实并非如此:只有引用已被销毁,只要
x
存在,对象将保持活动状态。你知道吗相关问题 更多 >
编程相关推荐