与DataTable / DataView绑定时WPF中的内存泄漏 [英] Memory Leak In WPF When Binding With DataTable/DataView

查看:116
本文介绍了与DataTable / DataView绑定时WPF中的内存泄漏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,



我有一个WPF中的项目使用DataTable / DataView和Binded与View Everywhere。现在我面临内存泄漏问题。今天我在谷歌上网,发现由于,INotoify接口没有在DataTable / DataView中实现 内存泄漏
正在发生。我是对的,因为这个原因导致内存泄漏。我需要你对以下几点的建议。



1.在WPF中使用DataTable / Dataview是不错的做法。

2。有没有办法在DataTable / Dataview中实现INotify接口。
$
3.有没有办法可以完全释放未使用的内存。

4.我可以使用DotNet的DataTable / DataView吗? WPF中的标准。

5.出现此问题的任何其他方式

6.内存泄漏是否会影响性能。我的意思是假设有8 GB RAM,2 GB RAM使用操作系统和其他应用程序,我的应用程序使用3 GB内存,更糟糕的情况是由于内存泄漏和可用的3 GB内存





我创建了一个小型测试项目。

运行项目

多次点击按钮添加新标签

删除所有标签

内存不是relesing



如果你在usercontrol中注释绑定并执行相同的步骤则内存是relesing。

这是项目  :
TestProject

在我的应用程序中,我使用的是Dot Net Framework 4.0

In My applicaton i am using Dot Net Framework 4.0

Prem Shah

Prem Shah




推荐答案

1. 我从未在WPF上使用过DataTable。 我只使用对象。

1.  I have never used DataTable with WPF.  I only use objects.

2. 见1

2.  See 1

3. 有一个对象有很多方法可以帮助你处理内存使用。 这只是GC。 要立即释放内存,请使用GC.Collect()

3.  There is an object with a bunch of methods that may help you get a handle on memory use.  It is simply GC.  To immediately release memory use GC.Collect()

4. 你可以使用它,但如果它有问题,我就不会

4.  You can use it but if it has problems I wouldn't

5. 不要使用DataTable,使用ObersableCollection,此对象用于WPF中的集合,通知UI是从集合中添加/删除数据。

5.  Don't use DataTable , use an ObersableCollection, this object is used for collections in WPF notifying the UI is data is added/removed from the collection.

6. 我过去常常监视内存使用情况,但是windows / wpf似乎可以很好地管理内存。

6.  I used to monitor memory usage but windows/wpf seems to do an adequate job of managing memory.


这篇关于与DataTable / DataView绑定时WPF中的内存泄漏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆