|登录 |注册

楼主: Super-Tomato
打印 上一主题 下一主题

[分享]如何優化記憶體

[复制链接]
goodhermit95
2008-11-13 02:34 PM
多谢多谢,我开发一个多功能的
可以可以Set多一点?给多RAM的人用

請問為什麽這個不行呢?
  1. Public Class Form1

  2.     Declare Function FindWindow Lib "user32.dll" Alias "FindWindowW" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
  3.     Private Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal hProcess As IntPtr, ByVal dwMinimumWorkingSetSize As Int32, ByVal dwMaximumWorkingSetSize As Int32) As Int32

  4.     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  5.         Try
  6.             GC.Collect()
  7.             GC.WaitForPendingFinalizers()
  8.             If Environment.OSVersion.Platform = PlatformID.Win32NT Then
  9.                 SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1)
  10.             End If
  11.         Catch
  12.         End Try
  13.     End Sub
  14. End Class
复制代码

我知道了!要拿processid

[ 本帖最后由 goodhermit95 于 2009-5-21 11:58 AM 编辑 ]
Super-Tomato
2008-11-13 04:30 PM
原帖由 goodhermit95 于 2008-11-13 02:34 PM 发表
多谢多谢,我开发一个多功能的
可以可以Set多一点?给多RAM的人用

請問為什麽這個不行呢?
Public Class Form1

    Declare Function FindWindow Lib "user32.dll" Alias "FindWindowW" (ByVal lpClass ...


因為你還沒有打開進程, 所以無法對進程中的內存做修改

回复 #12 Super-Tomato 的帖子

goodhermit95
2008-11-13 04:32 PM
所以要先用FindWindow再把System.Diagnistics.process.getcurrentprocess 换掉?
Super-Tomato
2008-11-13 04:44 PM
原帖由 goodhermit95 于 2008-11-13 04:32 PM 发表
所以要先用FindWindow再把System.Diagnistics.process.getcurrentprocess 换掉?



既然你已經可以取得GetCurrentProcessId了, 那麼直接取得PID填入OpenProcess中的參數即可
建議你到 http://msdn.microsoft.com/ 中搜索你所要使用的函數需要哪些類型參數, 然後想辦法怎麼取得會方便了解些

回复 #14 Super-Tomato 的帖子

goodhermit95
2008-11-13 04:53 PM

我常常去,只是我先试试看,再去哪里找
1.Handle Process
2.Open
3.Set
4.Clear Empty
5.Exit Handling
late_boy
2008-11-13 06:08 PM
Super-Tomato,请问可在打开Taks manager让我看看进程优化前与优化后的Virtual memory吗??

回复 #16 late_boy 的帖子

goodhermit95
2008-11-13 06:21 PM
演示影片里面有
你的那个软件好像没有优化那么多
late_boy
2008-11-13 06:36 PM
原帖由 goodhermit95 于 2008-11-13 06:21 PM 发表
演示影片里面有
你的那个软件好像没有优化那么多

=.=!
我是说进程被优化后与前所使用的Virtual Memory(虚拟内存),影片内没显示~~~~
PS:那个软件我只是推荐而已哦,如有问题请发EMAIL询问作者~~~~~~~~~~~~~~~~~~

[ 本帖最后由 late_boy 于 2008-11-13 06:38 PM 编辑 ]
Super-Tomato
2008-11-13 07:21 PM
原帖由 late_boy 于 2008-11-13 06:08 PM 发表
Super-Tomato,请问可在打开Taks manager让我看看进程优化前与优化后的Virtual memory吗??



好的, 沒問題


late_boy
2008-11-13 07:37 PM
原帖由 Super-Tomato 于 2008-11-13 07:21 PM 发表



好的, 沒問題



好的~谢谢分享哦~
PS:阁下刚升级FF去3.0.4版本哦~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2026-4-28 01:32 AM , Processed in 0.092577 second(s), 20 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部