什么是可以加载到Windows窗体控件的最大数据量?

什么是我可以加载到窗体控件的最大数据量?

我的应用程序消耗太多的内存,并挂在超过500,000条logging添加到任何Windows窗体控件在我的经验。 任何线索?

是的,那会造成问题。

不要添加那么多的记录。

没有人需要这么多。 你需要做的是添加过滤功能,以便用户可以指定他/她想要使用的数据范围。

例如,让用户按日期(如果是时间敏感的数据)缩小搜索范围,或者缩小搜索范围,或者呃,无论如何。

但我可以保证你找到一个方法来增加500K行到一个网格或任何不是解决方案

看起来你已经找到了你的应用程序的最大内存占用量。

没有单一的措施。

应用程序内存还包括您的应用程序正在使用的GDI句柄,文件句柄,线程。 确保你没有使用任务管理器和喜欢的GDI句柄泄漏。

另外,将500,000条记录加载到用户界面并不是一个好习惯,用户永远无法处理这么多的信息,请通过使用分页或其他方式来改变您的实践。

这是一大堆数据; 首先要做的是减少数据量 – 但是,由于您在标签中提到了DataGridView ,因此大数据场景中存在“虚拟模式”。 请参阅MSDN, 这里(概述)和这里(howto) 。

一些(但不是全部)其他基于列表的控件也具有“虚拟模式”支持。

我通常所做的是限制屏幕上显示的记录数量,通常为20,但这取决于您要显示的数据类型。

我通常在此之后应用过滤,并将数据和修改的记录计数返回给应用程序。 如果用户希望能够看到所有的记录,他们可以导出到另一个应用程序(通常是Excel,这将破坏,但也是XML)。

尽管如此,没有人会阅读50万条记录。