相关疑难解决方法(0)

减少.NET应用程序的内存使用量?

有哪些提示可以减少.NET应用程序的内存使用量?考虑以下简单的C#程序.

class Program
{
    static void Main(string[] args)
    {
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

x64的发布模式下编译并在Visual Studio外部运行,任务管理器报告以下内容:

Working Set:          9364k
Private Working Set:  2500k
Commit Size:         17480k
Run Code Online (Sandbox Code Playgroud)

如果它只为x86编译它会好一点:

Working Set:          5888k
Private Working Set:  1280k
Commit Size:          7012k
Run Code Online (Sandbox Code Playgroud)

然后,我尝试了以下程序,它执行相同但尝试在运行时初始化后修剪进程大小:

class Program
{
    static void Main(string[] args)
    {
        minimizeMemory();
        Console.ReadLine();
    }

    private static void minimizeMemory()
    {
        GC.Collect(GC.MaxGeneration);
        GC.WaitForPendingFinalizers();
        SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle,
            (UIntPtr) 0xFFFFFFFF, (UIntPtr)0xFFFFFFFF);
    }

    [DllImport("kernel32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    private static extern bool SetProcessWorkingSetSize(IntPtr process,
        UIntPtr minimumWorkingSetSize, UIntPtr maximumWorkingSetSize);
}
Run Code Online (Sandbox Code Playgroud)

在Visual Studio外部的 …

.net c# memory optimization memory-optimization

107
推荐指数
6
解决办法
7万
查看次数

减少C中内存使用的最佳做法是什么?

什么是"内存高效C编程"的最佳实践.主要用于嵌入式/移动设备应该是低内存消耗的准则?

我猜应该有单独的指导方针a)代码存储器b)数据存储器

c optimization memory-management

38
推荐指数
9
解决办法
2万
查看次数