代码之家  ›  专栏  ›  技术社区  ›  moster67

Windows Mobile中的.net内存不足异常-如何克服此问题?

  •  0
  • moster67  · 技术社区  · 17 年前

    我的问题是下载大型附件,因为在某个时候我遇到了OutOfMemory异常。通过阅读以下发布的问题和答案,我发现了一些有趣的事情 here on SO

    我可以采用什么策略/技术来克服这个问题?

    1 回复  |  直到 8 年前
        1
  •  10
  •   Clyde    17 年前

    每当你处理大量数据时,你都要确保不要一次将整个数据保存在内存中。

    你的下载管道是一个流,所以你可以分块加载数据。将文件写入磁盘时,您有一个流,因此您可以一次写入一个块。

    想象一下将拖拉机拖车卸到仓库里。使用你的架线器解决方案,你基本上是在说,“我要站在拖车的后面,我想让你把拖车的所有东西都装进我的怀里,然后我把它带进仓库”。你会被负载压垮的!相反,你想要的是,“给我刚好够我携带的,然后我把它带进仓库,然后回来拿下一批货物”。

    推荐文章