该方法实际就是调用了WINDOWS自带的内存清理工具
例如最近某灵内存占用非常难受,优化效果很明显;
优化前:
优化后:
该方法适用于任意程序
以下是代码+注释分享:
full_command_line := DllCall("GetCommandLine", "str")
if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)"))
{
try
{
if A_IsCompiled
Run *RunAs "%A_ScriptFullPath%" /restart
else
Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%"
}
ExitApp
}
;首先管理启动程序
gosub,优化内存 ;启动子程序优化内存
return
优化内存:
gosub,优化内存占用模块 ;直接运行一次子程序
SetTimer,优化内存占用模块,30000 ;设置计时器来30秒运行以此标签
MsgBox,启动成功!
return
优化内存占用模块:
;举例,利用windows自带empty.exe来清理指定程序内存 runwait,empty.exe 进程名,,hide
RunWait,empty.exe QQ.exe ,,Hide
; sleep,2000
; WinGet,hProcess,pid,ahk_class 进程
;jlnvzy:=DllCall("GetProcessWorkingSetSize", "Str", hProcess)
; MsgBox,优化完成!进程ID:%hProcess%
;当前内存已经使用: %jlnvzy%
return
;按F7退出程序
F7::
ExitApp
return
感谢大佬分享
?
对ahk学习的越深 发现这个软件越强大
清理掉具体哪些东西呢?