【问题标题】:Memory leak in MediaComposition.GetThumbnailAsync()?MediaComposition.GetThumbnailAsync() 中的内存泄漏?
【发布时间】:2015-12-01 03:21:22
【问题描述】:

对 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 的建议添加所需的 using 语句。
  • 将一些简短的 .mp4 添加到您的资产文件夹并将其命名为 test.mp4
  • 在 x86 中运行并单击几次按钮。在 Process Explorer 或内置的 VS 诊断中观察内存使用量的增加。崩溃大约 800MB。

【问题讨论】:

  • 确认。这似乎是 Windows 商店平台中的一个错误。它在调试和发布模式下重现。

标签: c# windows windows-runtime uwp


【解决方案1】:

已从 Microsoft 确认他们可以重现,这是一个错误。现在已在 2015 年 11 月 20 日的最新 WIN 10 版本中修复

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 2010-12-20
    • 2020-05-26
    • 2012-08-20
    • 2017-10-14
    • 2019-09-05
    相关资源
    最近更新 更多