|
|
发表于 2011-7-25 19:07:25
|
显示全部楼层
来自: 中国广东广州
做SW二次开发的同学,可以自己写段代码来清内存,在处理完成时执行一下ClearMemory方法即可。8 U" O/ i0 L; |( [
代码如下:. n a* S4 U" C$ H$ ^8 E- `
using System.Runtime.InteropServices;( @" J( V3 M4 m% n6 E. _
using System.Diagnostics;
) J/ Z) Z$ v9 d1 w0 Y# T1 E0 f" S2 v
[DllImport("psapi.dll")]
) C' j8 ^9 \ s5 P* d static extern int EmptyWorkingSet(IntPtr hwProc);
F4 |* b3 w0 N) ]6 e; n2 |, z% v2 L" `8 B/ y
public void ClearMemory()
! G1 z7 m8 H, J: I" y' T- _& g {: ~) s0 C- e! f0 X
Process[] process;//这个数组存放当前的所有进程信息
0 j% j1 b6 i/ ~3 F8 ] process = Process.GetProcesses();//取得进程信息
$ S" S: K3 I! f4 p' B, M- E for (int i = 0; i < process.Length; i++) { R5 R* b; }; [- ^
{
$ r5 U' H2 U* D1 N try
4 @( g Q3 S1 ~# ?0 ]6 _* ^. ]: R {
2 K$ G6 N$ g3 h) `" @( f EmptyWorkingSet(process[i].Handle);//依次释放每个进程的内存& |9 r2 H) B3 e' b2 _. ~# ^0 O
}2 I& X: r( c4 S3 x1 W* }4 a
catch
) A7 N) o4 E* s9 f# o7 V {9 c# X1 e) \$ V d4 m8 J5 M2 @( X: I
! |0 ~+ @3 d, {$ C2 Y. C
}; J2 ~) _; P* m7 _/ |0 a7 T( g( q
}2 y7 F4 q# U. r6 d8 q# d
/ ^- n: |% F* w# _& w } |
|