C# 快速释放内存的大数组
原文: C# 快速释放内存的大数组 本文告诉大家如何使用 Marshal 做出可以快速释放内存的大数组。 最近在做 3D ,需要不断申请一段大内存数组,然后就释放他,但是 C# 对于大内存不是立刻释放,所以就存在一定的性能问题。 在博客园看到了一位大神使用 Marshal 做出快速申请的大数组,于是我就学他的方法来弄一个。本文告诉大家这个类是如何使用 在使用的时候,先来看下原来的 C# 的大数组性能。可以看到在不停gc,性能不好 static void Main(string[] args) { for (int i = 0; i < 10000; i++) { Foo(); } Console.ReadKey(); } private static void Foo() { var foo = new byte[1000000000]; } 介绍 在使用 Marshal 之前需要知道这是什么,其实 Marshal 就是一个提供 COM 互操作的方法。 使用 下面使用一个快速申请 int 数组来告诉大家如何使用。 是否还记得 C 的申请数组?其实下面的方法和 C 的相同 int ...
