• 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.  
  • 相关阅读:
    Django进阶之CSRF
    Django进阶之session
    simple_tag,filte,分页以及cookie和装饰器
    Django 中url补充以及模板继承
    Django补充及初识Ajax
    2016年12月20日感想
    Docker的镜像
    继续Django
    jS正则和WEB框架Django的入门
    Docker的容器
  • 原文地址:https://www.cnblogs.com/ljl_falcon/p/2850621.html
Copyright © 2020-2023  润新知