Как вы делаете очистку памяти в 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

Другие вопросы по тегам