|
|
发表于 2011-7-25 19:07:25
|
显示全部楼层
来自: 中国广东广州
做SW二次开发的同学,可以自己写段代码来清内存,在处理完成时执行一下ClearMemory方法即可。0 w. ]- m }' y! E! H
代码如下:, q4 V, w8 B% `# h2 X- u: @
using System.Runtime.InteropServices;
, r) o' s* b. N. m1 d using System.Diagnostics;
0 {. ~ C2 |3 E0 A
: q6 @. R+ M# j; O. W [DllImport("psapi.dll")]
! ^) k2 f c: p/ k: g3 F8 n& M% { static extern int EmptyWorkingSet(IntPtr hwProc);; |4 _2 G- N! `4 V. p3 d7 u5 c
, h2 g$ I! v4 l
public void ClearMemory()" u6 k2 V5 Z0 `2 i4 K
{
( A+ N; O+ E/ Y4 N1 T5 r- J9 s/ n Process[] process;//这个数组存放当前的所有进程信息- R* j: J7 U% j, o
process = Process.GetProcesses();//取得进程信息. e3 Z) k$ m" i" N' g. N
for (int i = 0; i < process.Length; i++)% y- H3 M$ {( w, N. f7 v+ j( G6 S
{
6 [8 w' `: a. R# A3 C( d try
( Y7 U I! ~% P4 K: f {
8 _+ j. P+ C7 W9 J& p, j9 \& k- | EmptyWorkingSet(process[i].Handle);//依次释放每个进程的内存9 ]3 m' C, [+ \! O' ]; ?9 t' [5 Y
}6 c( H, m: C2 [$ Q
catch" Z6 k" W1 ~8 q1 O7 `2 @6 s3 A
{
1 b' C6 _- W# c. g4 \3 R, y1 a- x) q* U2 c9 i9 {: t' ^
}. [3 V! _% E W! q
}
& j; ]. E% ^. J
' q& `& f8 Z- M3 S } |
|