Imports System.Runtime.InteropServices
Public Class Memory
<DllImport("Psapi.dll")> _
Private Shared Function EmptyWorkingSet(ByVal hProcess As IntPtr) As Boolean
End Function
Public Shared Sub FreeMemory()
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
Memory.EmptyWorkingSet(Process.GetCurrentProcess.Handle)
End Sub
End Class
MIT писал(а):Если речь идет о потребляемой оперативной памяти NET-приложения, то 15-20мб - вполне нормальный размер.
А вот если речь идет о чем-от еще... Автор, точнее!
Nord777 писал(а):
- Код: Выделить всё
Imports System.Runtime.InteropServices
Public Class Memory
<DllImport("Psapi.dll")> _
Private Shared Function EmptyWorkingSet(ByVal hProcess As IntPtr) As Boolean
End Function
Public Shared Sub FreeMemory()
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
Memory.EmptyWorkingSet(Process.GetCurrentProcess.Handle)
End Sub
End Class
Ну, как тебе сказать,.. можно заставить приложение переместить часть своих данных из физической памяти.Fast0490f писал(а):да оперативной....жалко что нельзя ее уменьшить ....даже пустая форма столько весит....
Позволь поинтересоваться, как ты использовал этот код?чтот не помогло...все также осталось......
Fast0490f писал(а):.....ну вообщем вопрос в заголовке..)))...
'...
Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
FlushMemory()
AddHandler Application.Idle, AddressOf FlushMemory
End Sub
Private Sub FlushMemory()
If System.Environment.OSVersion.Platform = PlatformID.Win32NT Then
NativeMethods.SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1)
End If
End Sub
'...
Imports System.Runtime.InteropServices
Public Class NativeMethods
'...
<DllImport("kernel32.dll")> _
Public Shared Function SetProcessWorkingSetSize(ByVal handle As IntPtr, ByVal minimumWorkingSetSize As Integer, ByVal maximumWorkingSetSize As Integer) As Boolean
End Function
'...
End Class
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42