概述为什么我的WPF应用程序在经过一段时间后变慢?
假设您有一个使用WPF开发的应用程序,当您运行应用程序并在一段时间后(例如30分钟或更长时间)最小化应用程序时,当您恢复应用程序的窗口时,发现它冻结(或缓慢)几秒钟。
我的问题是为什么它变得缓慢,有什么办法解决它?
从C#打开程序 – 也指定工作目录
sql Server Express 2012错误:无法连接到本地数据库
使用C#在远程计算机上设置date,时间和时区
在客户端笔记本电脑上用ms访问windows窗体应用程序的部署问题
使用Ruby on Rails连接到Web服务器的问题
这不是WPF的属性,它是虚拟内存的属性。
基本上,现代 *** 作系统试图使运行的程序尽可能快地运行 – 但是它们也允许许多程序一次运行,它们的所有内存都可以一次装入你的内存中。 所以当 *** 作系统看到一个正在运行的程序需要分配一个新的内存页,而RAM已经满了页时,它会将其中一个页面(喜欢那些没有被使用的页面)踢到硬盘上一个叫做页面文件的文件。
当内存页面所属的程序试图访问它时,这被称为“页面错误” – *** 作系统检测到页面不在RAM中,而是在磁盘上,并且在继续执行之前必须将其读取到RAM中。 由于从硬盘读取比从RAM读取慢,这是相对较慢的。 如果某个程序没有运行一段时间,可以想象所有的页面都已经被分页到RAM中 – 所以它会很慢,直到停止页面错误。
我没有遇到如何处理这个问题,但你可以尝试像这样的事情:
1)编写程序以异步的方式工作 – 所以当一个线程正在做触发页面错误的事情时,程序会在其他线程上响应
2)有意识地触摸你的记忆的每一页,以保持所有页面(只有当你的程序非常重要,以至于它总是占用RAM,即使在不使用的时候也是如此)!
3)“抛硬件”解决方案 – 购买更多的内存:)
总结
以上是内存溢出为你收集整理的为什么我的WPF应用程序在经过一段时间后变慢?全部内容,希望文章能够帮你解决为什么我的WPF应用程序在经过一段时间后变慢?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容