网站建设目标是什么意思,网站后台管理系统怎么做,wordpress后台仅显示当前主题,杭州房产网站建设一个.net6的应用程序#xff0c;底层不断采集数据。使用wpf制作了一个简单的界面显示数据接收的情况。程序中引用了 Material Design UI框架。当程序长时间运行时发现内存在不断增长。一个星期后工作集占用内存达到1GB。使用dotnet-dump工具收集内存使用情况#xff0c;并且分…一个.net6的应用程序底层不断采集数据。使用wpf制作了一个简单的界面显示数据接收的情况。程序中引用了 Material Design UI框架。当程序长时间运行时发现内存在不断增长。一个星期后工作集占用内存达到1GB。使用dotnet-dump工具收集内存使用情况并且分析发现 在gen2内存中System.IO.UnmanagedMemoryStream对象在不断增长。使用 dotnet-dump collection -p 进程ID 收集内存使用情况 使用dotnet-dump analyze 进行分析 使用 dg gen2查看Gen2内存使用情况在解决方案中另外有一个命令行程序除了显示数据外其他功能与wpf程序的功能完全一致。单独运行命令行程序发现内存不增长System.IO.UnmanagedMemoryStream对象也不增加。因此判断问题出现在UI界面显示。通过注释不同显示模块最终发现界面一个TextBlock绑定了不断变化的接收数据的数量只要不显示此TextBlock内存就不再增长。binding代码并没有任何特殊情况。从网络上查找发现 有类似的情况。原来原因是在主窗体中指定了FontFamily为MetarialDesign的字体而出问题的TextBlock是在一个UserController. 如果FontFamily不指定或者指定为Windows系统自带的字体则不会出现内存泄漏的问题。或者UserController中再次指定字体FontFamily(这个没有试)。去掉主窗口中FontFamily的属性后问题得以解决。