zoukankan      html  css  js  c++  java
  • Delphi中关于资源释放(Free,Relealse,FreeAndNil)

    根据日常编程经验,得出一些Delphi中关于资源释放的体会。

    假如有对象Obj为TObject类型:

    1) Obj.Free直接释放资源后,调用OnDestroy事件,但是没有将Obj指针值置为Nil。

    2) Obj.Release 等待资源不再使用后释放资源,同样不修改Obj指针为Nil,所以在OnDestroy中最好使用Release进行资源释放操作。

    3) 局部变量释放资源时,可以考虑用FreeAndNil()释放资源,这样效率会高些,能提高内存的利用率。

    4) 单纯通过Assigned(Obj)判断对象是否已经创建是不够的,因为如果对象通过Free/Release进行资源释放的话,Obj指向的是一个未知地址, 而非Nil,所以需要用(Not Assigned(Obj)) And (Not (Obj is  TObject)) 来判断该对象是否已经创建在内存中。

  • 相关阅读:
    P1007 独木桥
    P1789 【Mc生存】插火把
    P2658 汽车拉力比赛
    1959 拔河比赛
    P1936 水晶灯火灵
    websocket
    瀑布流布局
    Router
    图片占位
    单位
  • 原文地址:https://www.cnblogs.com/FuYan/p/3488699.html
Copyright © 2011-2022 走看看