|
|
发表于 2011-7-25 19:07:25
|
显示全部楼层
来自: 中国广东广州
做SW二次开发的同学,可以自己写段代码来清内存,在处理完成时执行一下ClearMemory方法即可。
# T: u" U+ E1 y( e. B* N代码如下:' z! a% Q+ Q+ `
using System.Runtime.InteropServices;: D9 J+ B; Z& h- C; M7 \
using System.Diagnostics;
5 r& |2 B3 u) f. o7 D
' L" }* [0 p. J. y6 Y [DllImport("psapi.dll")]
7 r7 r- ?+ O8 t. N% L' i% P static extern int EmptyWorkingSet(IntPtr hwProc);6 ^* l# w0 [9 {
3 U! N* Y$ i2 P. | public void ClearMemory()
; C q# a/ t( X; } y" C {
0 i% N& G- w$ ]6 p9 {$ F Process[] process;//这个数组存放当前的所有进程信息, M9 d+ `% ?8 D5 ]% d* x" A9 a
process = Process.GetProcesses();//取得进程信息
" M3 O8 o# Z) g s: Y2 v for (int i = 0; i < process.Length; i++)' O, D0 U5 t3 Q" C' b# P
{$ p/ \) k5 \. [( T( C& Y
try
4 x) c3 A) {$ q# x7 M* ~ { $ E3 |& \% n( b, n B; o- U
EmptyWorkingSet(process[i].Handle);//依次释放每个进程的内存
# F" D$ c( T' O# _2 w/ k' g, ` }$ l& e( b. c( g2 W/ o& `
catch
! D$ Z4 N# `; K2 ]$ ?. z6 m9 x* ` {- w/ g9 d& A. @( q: R: A& J
$ `( Z. H( X. _
}) K+ @/ D: P# h3 l' c
} B) q- Z$ N+ K7 M' A ]) a
9 t) t6 Q8 r+ J3 [. |$ q' j8 V
} |
|