2010-02-08 71 views
0

在WPF应用程序中加载大小为70MB及以上的Flash文件时,它会成功运行一次或两次,然后开始投掷OutofMemoryException。 但是当加载10MB到20MB的小型Flash文件时,它总是能够成功运行。 以下是我们所遵循的步骤:内存不足异常

  1. ReadAllbytes的Flash文件。
  2. 创建MemoryStream上面的实例
  3. 使用f-in-box flash组件并传递MemoryStream作为参数。

只是想知道是否有任何建议。 谢谢 N

+0

听起来好像你没有配置某些东西,根据你的评论它也会导致Visual Studio VM问题。 – 2010-02-08 04:41:05

+0

这是我在做什么: 第1步:打开主窗口/父窗口。 第2步:当你点击一个按钮打开一个子窗口作为对话框 第3步:当你点击子窗口中的一个按钮, 作为对话框打开孙子窗口 在孙子窗口我也订阅Dispatcher.ShutdownStarted。 但是我注意到,只有当Main/Parent窗口关闭时,才会调用孙子窗口中的此事件。 这可能是我得到OOM异常的原因。 如果您有任何建议,请让我知道。 谢谢 否 – 2010-02-08 11:28:33

回答

0

您是否在创建对象后清除对象?我不是WPF的人,但是在asp.net中,当我创建一个对象并忘记关闭它时,下次加载时会创建另一个实例。如果文件大小为70MB,这可以非常快速地咀嚼内存

+0

是的,我打电话都关闭和处置记忆流。 – 2010-02-08 03:57:57

+0

我也注意到,VS 2008每隔一段时间就会生成一条错误消息,以便构建解决方案。如果您有任何建议,请告诉我。 谢谢 – 2010-02-08 04:17:28

+0

你可以发布一小段代码吗? – 2010-02-08 21:56:44