vb编译后程序运行超占内存,该怎么解决
vb编译后程序运行超占内存,该如何解决?
自己用vb2005写了个小程序,可是编译后运行,占用内存达12MB,本以为是自己的代码写的不好,于是我新建了一个windows应用程序项目,不添加任何代码直接编译,运行后占内存达11MB,请问这种现象正常吗,反正我觉得很不正常,应该如何操作才能使编译后的程序少占内存?请高手明示,谢谢了!
以下是代码,请高手帮我看看,如何修改,能提高效率,少占内存?
Public Class ManiGUI
Dim SelectedFileName As String = ""
Dim SelectedFilePatch As String = ""
Dim SelectedFileProcess As Process()
Private Sub notifyicon1_Doubleclick(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.DoubleClick
Me.Show()
Me.WindowState = FormWindowState.Normal
Me.Activate()
End Sub '双击恢复
Private Sub SelectFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectFile.Click
OpenFileDialog1.ShowDialog()
End Sub
Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
SelectedFilePatch = OpenFileDialog1.FileName
SelectedFileName = System.IO.Path.GetFileNameWithoutExtension(OpenFileDialog1.SafeFileName)
If SelectedFileName <> "" Then
StarToWatch.Enabled = True
End If
End Sub
Private Sub Quit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Quit.Click
Me.NotifyIcon1.Visible = False
Me.Close()
Me.Dispose()
System.Environment.Exit(System.Environment.ExitCode)
Application.Exit()
End Sub
Private Sub StarToWatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StarToWatch.Click
Timer1.Enabled = True
Me.NotifyIcon1.BalloonTipText = "正在守护 " + SelectedFileName
NotifyIcon1.ShowBalloonTip(30)
Me.Hide()
End Sub
'最小化缩到右下角
Private Sub ManiGUI_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged
If Me.WindowState = FormWindowState.Minimized Then
If SelectedFileName = "" Then
Me.NotifyIcon1.BalloonTipText = "守护进程"
Else
Me.NotifyIcon1.BalloonTipText = "正在守护 " + SelectedFileName
End If
NotifyIcon1.ShowBalloonTip(30)
Me.Hide()
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
SelectedFileProcess = Process.GetProcessesByName(SelectedFileName)
If SelectedFileProcess.Length > 0 Then
Return
Else
Dim SelectedFileProcess1 As New Process
SelectedFileProcess1.StartInfo.FileName = SelectedFilePatch
SelectedFileProcess1.Start()
End If
End Sub
Private Sub 显示ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 显示ToolStripMenuItem.Click
Me.Show()
Me.WindowState = FormWindowState.Normal
Me.Activate()
End Sub
Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出ToolStripMenuItem.Click
Me.NotifyIcon1.Visible = False
Me.Close()
Me.Dispose()
System.Environment.Exit(System.Environment.ExitCode)
Application.Exit()
End Sub
自己用vb2005写了个小程序,可是编译后运行,占用内存达12MB,本以为是自己的代码写的不好,于是我新建了一个windows应用程序项目,不添加任何代码直接编译,运行后占内存达11MB,请问这种现象正常吗,反正我觉得很不正常,应该如何操作才能使编译后的程序少占内存?请高手明示,谢谢了!
以下是代码,请高手帮我看看,如何修改,能提高效率,少占内存?
Public Class ManiGUI
Dim SelectedFileName As String = ""
Dim SelectedFilePatch As String = ""
Dim SelectedFileProcess As Process()
Private Sub notifyicon1_Doubleclick(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.DoubleClick
Me.Show()
Me.WindowState = FormWindowState.Normal
Me.Activate()
End Sub '双击恢复
Private Sub SelectFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectFile.Click
OpenFileDialog1.ShowDialog()
End Sub
Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
SelectedFilePatch = OpenFileDialog1.FileName
SelectedFileName = System.IO.Path.GetFileNameWithoutExtension(OpenFileDialog1.SafeFileName)
If SelectedFileName <> "" Then
StarToWatch.Enabled = True
End If
End Sub
Private Sub Quit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Quit.Click
Me.NotifyIcon1.Visible = False
Me.Close()
Me.Dispose()
System.Environment.Exit(System.Environment.ExitCode)
Application.Exit()
End Sub
Private Sub StarToWatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StarToWatch.Click
Timer1.Enabled = True
Me.NotifyIcon1.BalloonTipText = "正在守护 " + SelectedFileName
NotifyIcon1.ShowBalloonTip(30)
Me.Hide()
End Sub
'最小化缩到右下角
Private Sub ManiGUI_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged
If Me.WindowState = FormWindowState.Minimized Then
If SelectedFileName = "" Then
Me.NotifyIcon1.BalloonTipText = "守护进程"
Else
Me.NotifyIcon1.BalloonTipText = "正在守护 " + SelectedFileName
End If
NotifyIcon1.ShowBalloonTip(30)
Me.Hide()
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
SelectedFileProcess = Process.GetProcessesByName(SelectedFileName)
If SelectedFileProcess.Length > 0 Then
Return
Else
Dim SelectedFileProcess1 As New Process
SelectedFileProcess1.StartInfo.FileName = SelectedFilePatch
SelectedFileProcess1.Start()
End If
End Sub
Private Sub 显示ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 显示ToolStripMenuItem.Click
Me.Show()
Me.WindowState = FormWindowState.Normal
Me.Activate()
End Sub
Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出ToolStripMenuItem.Click
Me.NotifyIcon1.Visible = False
Me.Close()
Me.Dispose()
System.Environment.Exit(System.Environment.ExitCode)
Application.Exit()
End Sub