[WPF]解决程序运行时间长后内存占用太大(可能是泄漏),加个内存回收释放

来源:赵克立博客 分类: WPF 标签:WPF发布时间:2017-08-20 12:23:26最后更新:2017-08-20 14:53:39浏览:9413
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2017-08-20 14:53:39
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

开发环境

win764+vs2015+.net3.5

问题描述

最近写一个小程序,需要长时间运行,后来发现时间长后内存占用超大一开始只有35M左右,一个晚上就到啦600M,对wpf了解的不太深入,一些基本的对象等也都注意啦,还是出现这种问题


wpf界面用着很爽但,最大的毛病就是占内存,对于那些对wpf学习不太深入的人来说,占内存是最让人受不了啦,也没有时间去了解怎么管理内存释放等操作,

下面在网上找到啦一个方法,效果显著,用上后内存一下就降下来啦,至于其它问题有没有还不知道,等用一段时间再回来更新测试结果

安装方法

image.png

输入下面代码,安装  Lierda.WPFHelper

 Install-Package Lierda.WPFHelper -Version 1.0.1

安装完成后在程序启动的地方加入下在代码

public partial class App : Application
{
    LierdaCracker cracker = new LierdaCracker();
    protected override void OnStartup(StartupEventArgs e)
    {
        cracker.Cracker();
        base.OnStartup(e);
    }
}

这个设置可以让程序隔一段时间自动回收内存


10分钟后测试内存在预期内,没有增长,达到想要的效果  :)

2小时后占用内存也在预期内。:)

程序运行中发现内存会在一个峰值后变小(释放),其它方面目前还没有发现什么bug


微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python