由于易语言没有内存自动回收机制,我们写的脚本程序,运行一段时间后,对系统内存的占用越来越大,我们可以通过api来减少内存的占用。
用到的API
SetProcessWorkingSetSize:
.版本 2 .DLL命令 API_SetProcessWorkingSetSize, 整数型, "kernel32", "SetProcessWorkingSetSize", , ; 设置操作系统实际划分给进程使用的内存容量 非零表示成功,零表示失败。会设置GetLastError .参数 hProcess, 整数型, , 指定一个进程的句柄 .参数 dwMinimumWorkingSetSize, 整数型, , 用于装载最小进程容量的一个变量 .参数 dwMaximumWorkingSetSize, 整数型, , 用于装载最大进程容量的一个变量适用平台Windows NT;
CoGetCurrentProcess:
.版本 2 .DLL命令 API_CoGetCurrentProcess, 整数型, "ole32.dll", "CoGetCurrentProcess"
EmptyWorkingSet:
.版本 2 .DLL命令 API_EmptyWorkingSet, 整数型, "psapi.dll", "EmptyWorkingSet" .参数 hProcess, 整数型
课程子程序封装
方法一:
.版本 2 .子程序 方法一, , , 减小内存占用 API_SetProcessWorkingSetSize (API_CoGetCurrentProcess (), 4294967295, 4294967295)
方法二:
.版本 2 .子程序 方法二, , , 减小内存占用 API_EmptyWorkingSet (API_CoGetCurrentProcess ())
方法调用
必须在窗口创建完毕,首先调用
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
方法二 ()
方法一 ()