博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF性能调试系列 – 内存监测
阅读量:4574 次
发布时间:2019-06-08

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

原文:

WPF性能调试系列文章:

    

      

    

 

内存监测(Ants Memory Profiler)

    Ants Memory Profiler是专门针对于.net程序的内存动态分析工具,通过实时监测WPF程序中每个对象分配的内存空间大小,来提供多样式报告展示内存的使用情况。我们可根据分析结果进行指定对象的优化。

    从RedGate官网下载,下载地址为

 

模拟分析应用程序

打开Ants Memory Profiler,通过菜单File -> New Profiling Session...(Ctrl+N打开新的监测会话,在可监测程序类型中选择.Net executable。

 

 

开始执行后,wpf应用会打开执行,操作应用并实时监测内存使用情况,对于内存使用较高地方进行Take Memory Snapshot:

 

注:一次内存分析可进行多次内存点拍照。比如程序刚运行进行拍照,运行一段时间之后再次拍照,这样可通过对比两次拍照的内存差别分析出对象占用内存情况,更便于分析问题。

 

一个拍照监测点结果分析:

 

可参考具体详解:

注:1. 托管对象如果内存使用过高,考虑是否缓存数据过大,托管资源一般无需过多考虑,可等待.net垃圾回收器进行自行回收。

   2. 非托管资源如果占用内存过高,需要进行手动释放,因为费托管资源是无法自动被.net垃圾回收器回收 – 非托管资源包括:GUI+,图片操作,文件操作,win32调用等

 

多个拍照监测点结果对比分析:

 

 

具体类视图分析:

 

可参考具体详解:

 

具体对象分析:

 

可参考具体详解:

 

内存泄露主要原因分析:静态引用、未注销的事件绑定、非托管代码资源使用等。对于静态对象尽量小或者不用,非托管资源可通过手动Dispose来释放。

posted on
2018-09-06 15:39 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/9598733.html

你可能感兴趣的文章
html块级元素和行级元素的区别和使用
查看>>
for循环嵌套
查看>>
寒冬夜行人
查看>>
poj1151 Atlantis
查看>>
HTML页面之间的参数传递
查看>>
java面试题集锦
查看>>
scikit-learn:4.2.3. Text feature extraction
查看>>
Spring Security构建Rest服务-0800-Spring Security图片验证码
查看>>
AE待整理
查看>>
java8中规范的四大函数式接口
查看>>
分类---Logistic Regression
查看>>
35.Docker安装Mysql挂载Host Volume
查看>>
Ubuntu 英文下Fcitx 无法输入中文
查看>>
Android压力测试命令monkey详解
查看>>
MySQL_入手<二>之删--改--查
查看>>
MySQL创表--分页--自关联--
查看>>
python基础_面向对象进阶
查看>>
GitHub从小白到熟悉<一>
查看>>
软件测试员常踩的7个坑,不想再入坑者必看
查看>>
测试基础_<一>
查看>>