MediaComposition.GetThumbnailAsync()中的内存泄漏?

时间:2015-09-04 21:44:05

标签: c# windows windows-runtime uwp

调用MediaComposition.GetThumbnailAsync()似乎在Windows 10上显着泄漏内存.Windows Phone似乎可以在模拟器上看到。也许我错过了一些明显的东西,任何人都可以对此有所了解吗?

摄制:

  • 创建空白c#通用Windows项目。
  • 向MainPage.xaml添加按钮,如下所示:
<Button Click="Button_Click" Content="Click me" />
  • 将处理程序添加到MainPage.xaml.cs中,如下所示:

    private MediaComposition _comp = null;
    private async void Button_Click(object sender, RoutedEventArgs e) {
        if (_comp == null) {
            var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/test.mp4", UriKind.Absolute));
            var clip = await MediaClip.CreateFromFileAsync(file);

            _comp = new MediaComposition();
            _comp.Clips.Add(clip);

        }

        using (ImageStream thumb = await _comp.GetThumbnailAsync(TimeSpan.FromSeconds(1), 0, 0, VideoFramePrecision.NearestFrame)) {
            Debug.WriteLine(GC.GetTotalMemory(true).ToString("N0"));

        }
    }

  • 按照VS。
  • 的建议添加所需的使用语句
  • 将一些简短的.mp4添加到您的资源文件夹,并将其命名为test.mp4
  • 在x86中运行并单击该按钮几次。观察Process Explorer或内置VS诊断中的内存使用增加。崩溃了大约800MB。

1 个答案:

答案 0 :(得分:0)

微软确认他们可以复制,这是一个错误。现在在截止日期为11月20日的最新胜利10建筑中固定