【问题标题】:XDocument memory usage problemXDocument 内存使用问题
【发布时间】:2010-01-07 10:59:23
【问题描述】:

我有一个使用 XDocument 构建 xml 文档的小型应用程序。但是,过了一段时间,应用程序使用了超过 1gb 的内存。

所以我想知道是否有办法让 XDocument 使用磁盘而不是内存。例如,通过打开 StreamWriter 并将其保存到文件中。

提前谢谢你。

【问题讨论】:

  • 你为什么要建立它?建成后你会用它做什么?
  • 信息性:我将 1.4GB 的 xml 加载到 XDocument 中,内存使用量攀升至 2.4GB(原始文件中有大约 30% 的空白)。

标签: .net xml linq-to-xml


【解决方案1】:

您确定您的文档大到要占用 1 GB 内存吗?

使用诸如ANTS Memory Profiler 之类的内存分析工具可能会帮助您发现内存中剩余的对象。

【讨论】:

  • 其实真的有那么大,没想到。我想我将不得不使用流解决方案:) 谢谢。
  • 我实际上只是检查了一些 xml 文件的大小超过 300mb,所以我猜 x xml 类有一些开销,所以内存使用似乎是正确的。
  • 300Mb XML 文件 - 您确定 XML 是该数据的最佳格式吗?
【解决方案2】:

假设您引用 .net XDocument,您可以改用 XmlWriter (tutorial)。可以使用XmlWriter.Create() 方法将 XmlWriter 附加到您喜欢的任何流。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    相关资源
    最近更新 更多