德尔福内存管理
发布时间:2020-12-15 09:41:22 所属栏目:大数据 来源:网络整理
导读:我无法找到几个Delphi内存管理问题的答案.我可以测试不同的场景(我做了什么来找出破坏FreeAndNil方法的东西),但它需要太长时间而且很难!但说真的,我还想知道你们(Delphi开发人员)如何处理这些内存管理问题. 我的问题(随意提出自己的问题,我确信他们的答案对
我无法找到几个Delphi内存管理问题的答案.我可以测试不同的场景(我做了什么来找出破坏FreeAndNil方法的东西),但它需要太长时间而且很难!但说真的,我还想知道你们(Delphi开发人员)如何处理这些内存管理问题.
我的问题(随意提出自己的问题,我确信他们的答案对我也有帮助): > FreeAndNil是否适用于COM对象?我的想法是我不需要它,但是如果我需要做的就是将它设置为nil,而不是为什么不在我的finally块中保持一致并使用FreeAndNil进行所有操作? 多谢你们! 解决方法
COM对象通过接口引用,您无需执行任何操作即可.编译器负责必要的引用计数逻辑,以确保在正确的时间处理COM对象.
至于静态数组(或动态数组),它们也不需要被释放.如果它们包含对象,则必须在适当的时间释放对象,但数组不会. 此外,永远不要在任何不是对象引用的东西上使用FreeAndNil.将它与接口或其他变量一起使用可能会破坏内存.最好永远不要使用它(使用Free代替),除非你正在处理一个你需要释放然后再重用的对象. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |