小编use*_*441的帖子

UWP 应用程序 WebView 泄漏内存,无法清除图像

问题:

WebView 加载图像后不释放内存。

如果所有 WebView 实例都被销毁几秒钟,内存似乎会被释放。我们从 XAML 树中删除并清除了代码中的所有引用。(我们在调试器中检查了当时所有实例都已释放。)

这个解决方案是有问题的,因为网络视图必须停止一段时间才能启动内存清理,这对于我们的用例来说是不可接受的。

如何重现:

制作 UWP C# 应用程序或 C++ UWP 应用程序 -> 添加 WebView -> 使用随机 URL 加载大图像 -> 内存不断增长。

我们只有一个活动的 WebView,并且我们在其中多次加载一张大图像。(我们随机化部分图片网址来模拟不同的广告负载。)

内存不断增长,就好像图像永远不会被释放一样。我们尝试过的:

  • 使用 WebView.ClearTemporaryWebDataAsync() 清除缓存,但它不执行任何操作。
  • 手动触发GC。

笔记:

  • 我们使用“WebView(WebViewExecutionMode.SeparateThread)”初始化 webview。(其他执行模式似乎没有帮助)。
  • 我们不使用 WebViewBrush。

webview uwp uwp-xaml

2
推荐指数
1
解决办法
841
查看次数

标签 统计

uwp ×1

uwp-xaml ×1

webview ×1