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 以上才可以用到

GC.GetAllocatedBytesForCurrentThread Method (System)

最新文章

  1. JavaScript检测对象的类属性
  2. webstorm自动编译typescript
  3. C_C++圣战(摘录)
  4. Linux内核分析之操作系统是如何工作的
  5. 家族(codevs 1073)
  6. JavaScript navigator 对象(转)
  7. leetcode@ [97] Interleaving Strings
  8. Nodejs in Visual Studio Code 04.Swig模版
  9. php面向对象相关内容
  10. centos7之zabbix的监控H3C ER3200G2流量
  11. Oracle控制文件冗余
  12. linux内核中的最简单的输入输出调度算法noop
  13. 第二篇:呈现内容_第二节:WebControl呈现
  14. iOS 11开发教程(一)
  15. 前端基础3:js篇(基础及算法)
  16. ES6介绍二 函数的增强
  17. Node.js 项目打包
  18. 前端面试题1(html)
  19. 20145216史婧瑶《Java程序设计》第五次实验报告
  20. Python 常见错误及解决办法

热门文章

  1. 京东云Ubuntu下安装mysql
  2. 3、第一个Appium测试
  3. node.js 从文件流中读写数据及管道流
  4. python3 可变数据类型和不可变数据类型
  5. apach hadoop2.6 集群利用Phoenix 4.6-hbase 批量导入并自动创建索引
  6. [已解决]Series object has no attribute explode
  7. java-Day01
  8. 11-Ubuntu-根目录下各目录的功能详细介绍
  9. 第七篇 css选择器实现字段解析
  10. ubuntu16.04安装python虚拟环境