博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 快速释放内存的大数组
阅读量:3905 次
发布时间:2019-05-23

本文共 442 字,大约阅读时间需要 1 分钟。

C# 快速释放内存的大数组

Marshal

使用Marshal快速申请释放大数组。

使用AllocHGlobal()函数开辟空间:

static void Main(string[] args){
for (int i = 0; i < 10000; i++) {
Foo(); } Console.ReadKey();}private static void Foo(){
int n = 100000;//长度 IntPtr buffer = Marshal.AllocHGlobal(sizeof(int) * n);}

使用Marshal申请内存是没有经过管理的,如果没有手动释放,那么就出现内存泄露,手动释放内存:

Marshal.FreeHGlobal(buffer);

Marshal具体的使用方法如遍历、赋值等参考链接:

无unsafe的非托管类大数组

大神有分享封装好的类,感兴趣的可以使用:

转载地址:http://nloen.baihongyu.com/

你可能感兴趣的文章
火车硬座、高铁动车、国内经济舱 座位分布表
查看>>
网页乱码分析
查看>>
几个名词解释:大数据、Hadoop、云计算、机器学习、NLP、数据挖掘
查看>>
.net平台个人理解
查看>>
yii2.0学习笔记
查看>>
解决使用composer出现的错误
查看>>
java 线程:sleep join yield | wait notify notifyAll
查看>>
Python 包、模块 概念 from 、import 关键字
查看>>
世界各国的手机号码
查看>>
通配符与正则表达式
查看>>
c++ 与 Java 之 红黑树 哈希表 辨析
查看>>
open GL 、DirectX、open CV、 open Inventor 、cocos2dx、unity3d、3dmax辨析
查看>>
理解矩阵
查看>>
彩虹七色的RGB值
查看>>
常用正则表达式实例
查看>>
java之面向对象——继承、封装、多态
查看>>
web网站架构演变过程
查看>>
c、 c++、 java 基本数据类型 对比辨析
查看>>
文件系统之 簇&块
查看>>
Android 音乐播放器 源码 下载 高仿魅族系统音乐播放器
查看>>