与DataTable / DataView绑定时WPF中的内存泄漏 [英] Memory Leak In WPF When Binding With DataTable/DataView
问题描述
你好,
我有一个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屋!