以前,新手入门,我代码很烂。就在论坛下载了一个 自动优化内存的 模块。今天把它反编译了,然后自己重写解读了一下,发现这里面代码很绝,简直是我看过最会偷鸡和稳定的代码了!
我也试了好多别的内存优化代码 包括 SetProcessWorkingSetSize (-1, -1, -1) 发现根本没有用。软件该没还是没,该闪退还是闪退。
现在,我几乎习惯性的写下面这个代码优化代码。软件多复杂,代码多烂都能运行很久。运行几个月都是常规操作。
empty.exe是MicrosoftWindows2003系统自带的一个内存整理程序,它能够有针对性地释放指定应用程序在运行期间未能及时释放的内存资源,而不是像那些第三方软件内存管理软件会强迫系统释放全部资源,这样就不会加重硬盘的负担。(介绍内容来至百度)
.版本 2
.支持库 shell.子程序 自动释放内存, , 公开, 0.释放自身。非0. 所有进程。(可放入时钟周期事件中。)
.参数 方式, 整数型, 可空, 0.释放自身内存,非0则释放所有进程内存。
.局部变量 局_路径, 文本型
.局部变量 局_num, 整数型
.局部变量 局_快照, 整数型
.局部变量 局_进程信息, 精易_进程信息列表
局_路径 = 取特定目录 (#Windows系统目录)
局_快照 = CreateToolhelp32Snapshot (15, 0)
.如果真 (局_快照 = 0)
返回 ()
.如果真结束
局_进程信息.dwSize = 296
局_num = Process32First (局_快照, 局_进程信息)
.判断循环首 (局_num ≠ 0)
.判断开始 (方式 = 0 且 到文本 (局_进程信息.进程名称) = 取执行文件名 ())
运行 (局_路径 + “empty.exe ” + 到文本 (局_进程信息.进程ID), 真, #隐藏窗口)
跳出循环 ()
.默认
.如果真 (方式 ≠ 0)
运行 (局_路径 + “empty.exe ” + 到文本 (局_进程信息.进程ID), 假, #隐藏窗口)
.如果真结束
.判断结束
局_num = Process32Next (局_快照, 局_进程信息)
.判断循环尾 ()
CloseHandle (局_快照)
发表评论: