Как вы делаете очистку памяти в VB.NET?
Я никогда раньше не путался с памятью, кроме использования потоков памяти. Но недавно я загрузил очиститель RAM, который "очищает" память. Мне очень любопытно, как это работает и что это делает. Я пытался погуглить некоторые вещи, касающиеся очистки и очистки памяти, но для меня это не имеет особого смысла. Как работает очистка памяти? Где я могу узнать больше об этом? Это выполняет какую-то сборку мусора на процессах?
1 ответ
Может быть, эта функция API поможет вам, друг... Эта функция была очень полезна для меня, потому что вызов EmptyWorkingSet/SetProcessWorkingSetSize - это просто способ убрать до того, как ОС это сделает.
Я думаю, что это синтаксис C#... Конвертировать и попробовать это в VB.net:
using System;
using System.Runtime.InteropServices;
using System.Diagnostics;
[DllImport("psapi.dll")]
public static extern bool EmptyWorkingSet(IntPtr hProcess);
public void Clean()
{
// get handle to a process
Process ThisProcess = Process.GetCurrentProcess();
// empty as much as possible of its working set
bool Result = EmptyWorkingSet(ThisProcess.Handle);
}
ThisProcess.Handle - это дескриптор процесса вашей программы.
а также посмотрите это: MSDN Link