2019-5-21-dotnet-使用-GC.GetAllocatedBytesForCurrentThread-获取当前线程分配过的内存大小...
2024-10-20 03:38:52
title | author | date | CreateTime | categories |
---|---|---|---|---|
dotnet 使用 GC.GetAllocatedBytesForCurrentThread 获取当前线程分配过的内存大小
|
lindexi
|
2019-05-21 11:33:18 +0800
|
2019-04-23 09:37:27 +0800
|
C# dotnet
|
在 dotnet framework 4.8 的时候支持调用 GC.GetAllocatedBytesForCurrentThread 获取当前线程分配过的内存大小
创建一个简单的控制台程序,在调用 GC.GetAllocatedBytesForCurrentThread 方法返回调用方法所在的线程的内存大小,代码请看GetAllocatedBytesForCurrentThread
调用 GC.GetAllocatedBytesForCurrentThread 返回的是当前线程从启动到调用这个方法分配的内存大小,这个内存大小不是指在 GC 回收之后占用的大小
如我使用下面代码 每次调用 Foo 的时候,从 GetAllocatedBytesForCurrentThread 返回的值会不断添加,而不会随着 foo 被回收减少
private void Foo()
{
var foo = new byte[100];
}
这个方法在调用某些事件申请的内存的时候非常有用,可以看到在调用某些方法申请的内存有多少
可以在进入某个事件或方法的时候先调用获取当前线程的内存分配过的大小,在调用方法完成之后再调用一次,对比两个值就知道在这个方法里面申请的内存需要多少
这个方法只有在 .NET Core 2.0 以上和 .NET Framework 4.8 以上才可以用到
最新文章
- JavaScript检测对象的类属性
- webstorm自动编译typescript
- C_C++圣战(摘录)
- Linux内核分析之操作系统是如何工作的
- 家族(codevs 1073)
- JavaScript navigator 对象(转)
- leetcode@ [97] Interleaving Strings
- Nodejs in Visual Studio Code 04.Swig模版
- php面向对象相关内容
- centos7之zabbix的监控H3C ER3200G2流量
- Oracle控制文件冗余
- linux内核中的最简单的输入输出调度算法noop
- 第二篇:呈现内容_第二节:WebControl呈现
- iOS 11开发教程(一)
- 前端基础3:js篇(基础及算法)
- ES6介绍二 函数的增强
- Node.js 项目打包
- 前端面试题1(html)
- 20145216史婧瑶《Java程序设计》第五次实验报告
- Python 常见错误及解决办法