计算过程中有些暂存数据,放在数组或其他一些耗用内存的变量中;
计算结果本地化;
这时如果不释放掉内存,这些中间数据会不会常驻内存,影响后续使用?
当然会。当没有到你放那些数据的对象的引用时,内存会自动释放。也就是说,如果你没法在代码里访问到它们了,那么它们就会被释放掉。如果还能(比如通过全局变量),那么它们就会占据内存。
如果在内存清理的时候,这些对象还存留这引用,则不会被清理,如果已经没有引用了,在自动会被清理掉,不用担心会有多少的内存占用的。
del + gc应该可以搞定
3 回答3k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
4 回答1.7k 阅读
3 回答1.6k 阅读
1 回答1.4k 阅读✓ 已解决
当然会。当没有到你放那些数据的对象的引用时,内存会自动释放。也就是说,如果你没法在代码里访问到它们了,那么它们就会被释放掉。如果还能(比如通过全局变量),那么它们就会占据内存。