zoukankan      html  css  js  c++  java
  • delphi 内存管理,定期释放

    创建一个定时器,设置每隔N秒触发一次,也就是每隔多久进行一次内存清除!!

     

     

    //调用

    procedure TfmMain.Timer1Timer(Sender: TObject);

    begin

       TClearMemory.Create(False);

    end;

     

     

    ClearMemoryThread单元代码如下:

    ·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
    1. unit ClearMemoryThread;  
    2. interface  
    3. uses  
    4.    Classes, SysUtils, Forms, Windows;  
    5. type  
    6.    TClearMemory = class(TThread)  
    7.    private  
    8.    protected  
    9.       procedure Execute; override;  
    10.    public  
    11.       constructor Create(Suspended: Boolean);  
    12.    end;  
    13. implementation  
    14. //清理内存  
    15. procedure ClearMemory;  
    16. begin  
    17.    if Win32Platform = VER_PLATFORM_WIN32_NT then  
    18.    begin  
    19.       SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF$FFFFFFFF);  
    20.       Application.ProcessMessages;  
    21.    end;  
    22. end;  
    23. //创建线程  
    24. constructor TClearMemory.Create(Suspended: Boolean);  
    25. begin  
    26.    inherited Create(Suspended);  
    27.    FreeOnTerminate := True; {这可以让线程执行完毕后随即释放}  
    28. end;  
    29. //线程启动  
    30. procedure TClearMemory.Execute;  
    31. begin  
    32.    ClearMemory;  
    33. end;  
    34. end.  
  • 相关阅读:
    链表(1) --- 单链表
    .Net性能调优-MemoryPool
    .Net性能调优-WeakReference
    .Net性能调优-ArrayPool
    .Net Core 中的选项Options
    .Net Core配置Configuration源码研究
    .Net中异步任务的取消和监控
    nginx 实现jira反向代理
    k8s-harbor拉取镜像权限问题-imagePullSecrets
    Studio 3T 重置试用日期
  • 原文地址:https://www.cnblogs.com/ljl_falcon/p/2850621.html
Copyright © 2011-2022 走看看