请教Autoit脚本的优化方法
最近练习写了几个程序,发现程序运行一段时间后,占用系统内存慢慢变大,不知道该怎么去优化程序。请高手指点一下,如何来优化Autoit代码?
[ 本帖最后由 llssky2003 于 2009-3-3 11:50 编辑 ] 实时释放内存
$begin = TimerInit()
Func _EmptyMyScriptMem($PID)
Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $PID)
Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle)
DllCall("kernel32.dll" , 'int', 'CloseHandle', 'int', $ai_Handle)
EndFunc
$List=ProcessList()
For $x=1 to $List
_EmptyMyScriptMem($List[$x])
Next
$dif = TimerDiff($begin)
MsgBox(0,"时间差",$dif) 原帖由 xrbenbeba 于 2009-3-3 11:03 发表 http://www.autoitx.com/images/common/back.gif
实时释放内存
$begin = TimerInit()
Func _EmptyMyScriptMem($PID)
Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $PID)
Local...
谢谢xrbenbeba,我看看效果怎么样。 原帖由 llssky2003 于 2009-3-3 11:19 发表 http://www.autoitx.com/images/common/back.gif
谢谢xrbenbeba,我看看效果怎么样。
补充一下 当前脚本的PID是 @AutoItPID
客气 原创又不是我
我这是拿别人东西换人情:face (32):
[ 本帖最后由 xrbenbeba 于 2009-3-3 11:24 编辑 ] 呵呵,我刚用的是
$List=ProcessList(@ScriptName)
_EmptyMyScriptMem($List)
用@AutoItPID,又可以省一句话了。:face (33): 以前记得写过几个AUTOIT脚本,若使用ANSI编译方式的话,就会占用越来越多的内存,在这种情况下使用_EmptyMyScriptMem也是无效的,你会发现该程序占用的虚拟内存也越来越多。但是,若用UNICODE方式编译的话就没事了。 回复 6# firewzy
编译上有何区别 都是直接编译的。。貌似没有这个选项。
页:
[1]