Memory MVVMCross应用中使用webview的UWP内存泄漏
我有一个MVVMCross UWP应用程序。 在用户进入欢迎页面并进入仪表板之前,第一个视图并不显著。 这里有个问题,某个地方有内存泄漏,我找不到。 该图以MB为单位显示内存使用情况,以及从欢迎->仪表板和返回的导航 第一部分是导航到没有嵌入式webview的仪表板,第二部分有一个webview元素,它加载一个包含嵌入式视频的相当复杂的页面 一些注意事项:Memory MVVMCross应用中使用webview的UWP内存泄漏,memory,webview,uwp,mvvmcross,unmanaged,Memory,Webview,Uwp,Mvvmcross,Unmanaged,我有一个MVVMCross UWP应用程序。 在用户进入欢迎页面并进入仪表板之前,第一个视图并不显著。 这里有个问题,某个地方有内存泄漏,我找不到。 该图以MB为单位显示内存使用情况,以及从欢迎->仪表板和返回的导航 第一部分是导航到没有嵌入式webview的仪表板,第二部分有一个webview元素,它加载一个包含嵌入式视频的相当复杂的页面 一些注意事项: 启用后,webview将使用SeparateThread标志加载到代码隐藏中,并设置为ContentControl的内容 卸载视图时,我显
- 启用后,webview将使用SeparateThread标志加载到代码隐藏中,并设置为ContentControl的内容
- 卸载视图时,我显式地将ContentControl的内容设置回null,将保存webview并手动调用GC.Collect的临时值设置为null。如果我不这样做,webview将继续在后台播放视频,直到GC启动
- 我使用自定义演示器(添加对弹出窗口的支持,并为我的viewmodels实现和调用IDisTable/Dispose(不必等待GC清除订阅等)
- 在分析内存转储时,我看不到托管对象或内存中的任何更改
您能否共享一个可以重现您的问题的解决方案?如果没有任何代码,很难找到问题所在。好的,我会这样做。我想创建一个解决方案,以确定是MVVMCross还是UWP本身造成了问题。我们现在通过定期清除webview缓存来解决这个问题,这大大减少了非托管内存的使用。但它仍然会随着时间的推移而增加。测试应用程序现在可用:只需让它运行约30分钟,问题就会变得非常明显。我可以看到与主应用程序相同的内存增加。您也可以将数据导出为csv文件,以在excel中绘制