【发布时间】:2025-12-18 04:35:01
【问题描述】:
在过去的几个月里,我一直在大量使用 PowerShell。不得不说,这让我大吃一惊。我认为只是过度膨胀的 CMD 版本,实际上是一种非常健壮、面向对象和通用的 .NET 语言。
我之前在语言方面的经验(都是自学的)是 Java、C++ 和 Wiring(稀释的 Arduino/C++ 的 Particle 变体),其中很多是在受限环境 (CoAP) 中。在受限的嵌入式环境中工作使我更加了解内存处理和占用*。如果您的系统资源有限,如果不加以检查,内存泄漏可能会造成毁灭性的后果。
话虽如此,我不确定 PowerShell 是否能直观地处理内存分配和处置。因为它是一种高级语言,所以在幕后处理这些是有道理的,但我想确定一下。我看到了一个 PowerShell 脚本,当它使用特定的 $object 完成时,它实际上调用了 $object.Dispose()。
那么,我需要为我创建的每个New-Object 调用一个Dispose() 方法吗?
谢谢!
*我了解 ATMega328P 微控制器 (30kb ROM\2kb RAM) 等系统与计算机或服务器等信息系统相比存在巨大差异,但是,如果处于持续运行状态,内存泄漏加起来很可能导致崩溃。另外,我知道会话结束后所有内容都会被转储。
【问题讨论】:
标签: powershell memory memory-leaks dispose