2

我一直在阅读文档和各种示例,我的所有代码似乎都应该是这样。

但是,我遇到了似乎无法解决的内存泄漏问题。这是我所知道的:

  • 它发生在调用 IAsyncOperation 方法实际将.doneor附加.then到 WinJS.Promise 时。
  • 泄漏的对象似乎包括 a Windows.Foundation.IAsyncOperation<T>, an AsyncOpPromise(在第一次调用异步方法时动态创建的?),最重要的是,操作的结果 (T) 可能是一个非常大的对象。
  • 我可以在 JavaScript 内存分析器中看到明显的泄漏,无论结果是数字、字符串还是任何其他对象类型。

例如:

//This one leaks
document.getImageSourceAsync().done(function(source) {
    //The intention is to do something with the image, but it doesn't really matter what does or does not happen here.
});

//This one doesn't leak
document.getImageSourceAsync();

我在这里创建了一个示例项目:http: //sdrv.ms/12TvPOa


预先感谢您的任何帮助。亚当

4

0 回答 0