.net6 wpf程序一个内存不断增长问题的解决方法
一个.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的属性后,问题得以解决。
相关文章:
.net6 wpf程序一个内存不断增长问题的解决方法
一个.net6的应用程序,底层不断采集数据。使用wpf制作了一个简单的界面显示数据接收的情况。程序中引用了 Material Design UI框架。当程序长时间运行时发现内存在不断增长。一个星期后工作集占用内存达到1GB。使用dotnet-dump工具收集内存使用情况,并且分…...
NICEGUI---ROS开发之中常用的GUI工具
0. 简介 对于ROS来说,如果不具备一定知识的人员来使用这些我们写的算法,如果说没有交互,这会让用户使用困难,所以我们需要使用GUI来完成友善的数据交互,传统的GUI方法一般有PYQT这类GUI方法,但是这类GUI工…...
高盐废水除钙镁的技术解析
高盐废水指含有机物和至少总溶解固体(totaldissolvedsolids,tds)的质量分数大于3.5%的废水,具有水量大,无机盐离子k、na、ca2、mg2、cl-、so42-等含量高,水质水量变化大,成分复杂,难生化降解等特…...
回文日期门牌制作
题目: 题目描述 如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。 给定一个 8 位数的日期,请…...
基于半车悬架的轴距预瞄与轴间预瞄仿真对比
目录 前言 1. 半车悬架模型 2.轴距预瞄(单点预瞄)和轴间预瞄(两点预瞄)原理与仿真分析 2.1轴距预瞄(单点预瞄) 2.1.1预瞄原理 2.2.轴间预瞄(两点预瞄) 2.2.1预瞄原理 2.3仿真分析 3.总结 前言 对于悬架而言,四个车轮实际的输入信息是受到前后延时以及左右相…...
Linux开发 安装JDK8、p4
前面的笔记: Linux 学习笔记1 安装linux详细教程_linux系统 setting_O丶ne丨柒夜的博客-CSDN博客 Linux 学习笔记2 常用命令_O丶ne丨柒夜的博客-CSDN博客 Linux 学习笔记3 权限管理 定时任务 网络配置_O丶ne丨柒夜的博客-CSDN博客 安装配置 安装配置JDK8 Java …...
基于 x86 SoC 的车辆智能驾驶舱和ADAS设计(一)
随着汽车成为软件定义的自动化领域的中心,英特尔致力于提供从汽车到云的可扩展安 全解决方案来加快从高级驾驶员辅助系统(ADAS)到全自动汽车为自动驾驶提供技术支持。 2016 年 3 月,英特尔斥资 153 亿美元收购了以色列高级辅助驾驶系统企业 Mobileye。20…...
类模板函数模板
准备看个项目找实习,边看边学,一看到处都是template 和typename,好几年前学的C都忘记光了,在这里先做个笔记复习一下。template <class T> T abs(T x) {if(x < 0) return -x;return x; } int main() {int x 1;cout <…...
Leetcode DAY 56: 两个字符串的删除操作 and 编辑距离
583. 两个字符串的删除操作 1 、 dp[i][j] 表示 让以word1[i - 1]为结尾的字符串 和 以word2[i - 2]为结尾的字符串 相等需要删除的最少次数 1、dp[i][j] 的 递推需要考虑两种情况: (1)word1[i - 1] word2[j - 1] 相当于不考虑word1[i]和…...
系统检测维护工具Wsycheck使用(18)
实验目的 (1)学习Wsycheck的基本功能; (2)掌握Wsycheck的基本使用方法; 预备知识 windows操作系统的基本知识如:进程、网络、服务和文件等的了解。 Wsycheck是一款强大的系统检测维护工具,进程和…...
111 ok
全部 答对 答错 单选题 1.在与团队一起召开开工会议之后,项目经理分配工作活动,由于与其职能经理分配的任务发生冲突,一位团队成员拒绝开始工作,项目经理首先应该做什么? A请项目发起人帮助与职能经理进行谈判 B签发…...
Python API教程:API入门
什么是API? 一个API,或被称为应用程序接口,是一个服务器为你提供一个接收或发送数据的代码。API通常用来接收数据。 本文就集中焦点在此话题中。 当我们想从一个API中接收数据,我们需要开始请求。请求可以包含整个Web。例如&am…...
SpringMVC学习笔记
文章目录一、SpringMVC简介1、MVC与三层架构1.1 M1.2 V1.3 C1.4 MVC模式的工作流程1.5 三层架构2、什么是SpringMVC3、SpringMVC的特点二、搭建项目框架1、web项目结构2、创建maven工程,配置pom.xmla>添加web模块b> pom.xml中设置打包方式:warc>…...
Linux学习记录01
文章目录1. Linux基础知识2. Linux常用命令2.1 基础知识2.2 ls命令2.3 cd pwd命令2.4 mkdir2.5 touch、cat、more2.6 cp、mv、rm2.7 通配符、root模式2.8 whicih、find命令2.9 grep、mc、| 管道符2.10 echo、反引号、tail、重定向符2.11 vi、vm文本编辑器1. Linux基础知识 Lin…...
VScode 插件【配置】
写这篇博客的原因: vscode 很久以前的插件,忘记是干什么的了记录 vscode 好用的插件 插件介绍(正文开始) Auto Rename tag 开始/关闭标签内容 同步 Chinese (Simplified) VScode 中文化 CSS Peek 通过 html 代码查找到引用的样式…...
基于 Rainbond 的 Pipeline(流水线)插件
背景 Rainbond 本身具有基于源码构建组件的能力,可以将多种编程语言的代码编译成 Docker 镜像,但是在持续集成的过程中,往往会需要对提交的代码进行静态检查、构建打包以及单元测试。之前由于 Rainbond 并没有 Pipeline 这种可编排的机制&am…...
ASGARD:单细胞导向的药物发现
异质性,或更具体地说,病变组织中的不同的细胞群,是许多复杂疾病治疗失败的主要原因(如癌症、阿尔茨海默症、中风和COVID-19等),也是精准医疗成功的主要障碍。近年来,单细胞技术,特别…...
js-DOM03-事件
事件(Event) - 事件对象 - 当响应函数被调用时,浏览器每次都会将一个事件对象作为实参传递进响应函数中, 这个事件对象中封装了当前事件的相关信息,比如:鼠标的坐标,键盘的按键…...
天梯赛题目练习L1-007--L1-009
1、L1-007 念数字 题目详情 - L1-007 念数字 (pintia.cn) 分数 10 输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu输入格…...
来吧!接受Kotlin 协程--线程池的7个灵魂拷问
前言 之前有分析过协程里的线程池的原理:Kotlin 协程之线程池探索之旅(与Java线程池PK),当时偏重于整体原理,对于细节之处并没有过多的着墨,后来在实际的使用过程中遇到了些问题,也引发了一些思考,故记录之…...
本地 AI 智能体落地:OpenClaw 如何稳定运行并真正提效?
最近我把 OpenClaw 作为核心自动化工具来使用了一段时间。它能让大模型直接操作电脑,跑脚本、处理文件、启动服务、执行批量任务,这种 “本地自动化” 体验非常真实。 但一开始我也被它的 “不稳定” 搞得很崩溃。 1. OpenClaw 的真正价值(…...
Word空白页删不掉?【图文讲解】怎么删除word空白页?word批量删除空白页?5种方法教你彻底删除
(1)问题背景谁在编辑 Word 时没被顽固空白页气到抓狂?写论文、做报告、整理文案,明明内容已经结束,页面末尾偏偏多出一页空白,删也删不掉、退也退不去。打印时白白浪费纸张,上交文档显得格外不专…...
ANARCI抗体序列分析工具:从入门到精通的专业指南
ANARCI抗体序列分析工具:从入门到精通的专业指南 【免费下载链接】ANARCI Antibody Numbering and Antigen Receptor ClassIfication 项目地址: https://gitcode.com/gh_mirrors/an/ANARCI ANARCI(Antibody Numbering and Antigen Receptor Class…...
OpCore-Simplify:智能配置驱动的OpenCore EFI自动化构建工具
OpCore-Simplify:智能配置驱动的OpenCore EFI自动化构建工具 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 🤔 配置黑苹果的痛…...
避开这3个坑!MIPI走线设计如何减少对GSM信号的干扰(含阻抗匹配计算)
避开这3个坑!MIPI走线设计如何减少对GSM信号的干扰(含阻抗匹配计算) 在消费电子硬件设计中,MIPI接口与射频信号的共存问题一直是工程师面临的棘手挑战。特别是当设备需要同时支持高清显示和GSM通信功能时,MIPI信号对GS…...
数字电路设计避坑指南:RS触发器和JK触发器的常见应用误区与波形分析
数字电路设计避坑指南:RS触发器和JK触发器的常见应用误区与波形分析 在数字电路设计中,触发器作为时序逻辑的基础单元,其稳定性和可靠性直接影响整个系统的性能。RS触发器和JK触发器作为两种最常用的触发器类型,看似简单的逻辑背…...
如何通过FCEUX实现NES游戏高精度模拟?解锁经典游戏的数字化体验
如何通过FCEUX实现NES游戏高精度模拟?解锁经典游戏的数字化体验 【免费下载链接】fceux FCEUX, a NES Emulator 项目地址: https://gitcode.com/gh_mirrors/fc/fceux 你是否曾因找不到可靠的NES模拟器而无法重温童年经典游戏?是否遇到过模拟器兼容…...
OpCore-Simplify:实现OpenCore EFI自动化生成的黑苹果配置解决方案
OpCore-Simplify:实现OpenCore EFI自动化生成的黑苹果配置解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 副标题:告别…...
FPGA实战:3级CIC滤波器Verilog实现与仿真(附完整代码)
FPGA实战:3级CIC滤波器Verilog实现与仿真全解析 在数字信号处理领域,CIC(Cascaded Integrator-Comb)滤波器因其结构简单、运算高效的特点,成为多速率系统中的关键组件。本文将深入探讨3级CIC滤波器的Verilog实现细节&a…...
如何快速打造微信风格视频编辑功能?推荐开源神器WeiXinRecordedDemo
如何快速打造微信风格视频编辑功能?推荐开源神器WeiXinRecordedDemo 【免费下载链接】WeiXinRecordedDemo 仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑 项目地址: https://gitcode.com/gh_mirrors/we/WeiXinRecordedDemo WeiXinRecordedDemo是一款基于FFmpe…...
