Уменьшение объема занимаемой оперативной памяти приложения - C#
Формулировка задачи:
Друзья,недавно столкнулся с проблемой нехватки оперативной памяти приложению(огромному) одна вкладка которого весила почти 40мб и их могло быть и 10 и 20....короче жесть,а потом на просторах интернета наткнулся на эту замечательную функцию и счастью моему нет предела!!!
Вот приведу простой пример применения этой функции:
Ну а результаты говорят сами за себя:
P.S. Конечно многим я Америку не открыл,но подумал пригодится таким как я))
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace Memory
{
class Program
{
[ DllImport( "kernel32.dll" ) ]
public static extern bool SetProcessWorkingSetSize( IntPtr handle,
int minimumWorkingSetSize,
int maximumWorkingSetSize );
[STAThread]
static void Main(string[] args)
{
Console.WriteLine( "До" );
Console.ReadLine();
SetProcessWorkingSetSize( System.Diagnostics.Process.GetCurrentProcess().Handle,-1, -1 );
Console.WriteLine( "После" );
Console.ReadLine();
}
}
}Решение задачи: «Уменьшение объема занимаемой оперативной памяти приложения»
textual
Листинг программы
System.Diagnostics.Process.GetCurrentProcess.MinWorkingSet System.Diagnostics.Process.GetCurrentProcess.MaxWorkingSet