1

我正在创建一个使用 webView videoView 查看不同视频流的 android 应用程序 (C#)。

大约 6 分钟后,应用程序崩溃。我相信这是某处的内存泄漏,但我无法修复它。我找到了一些解决 webView 内存泄漏的方法,但它们都在 java 中。

C# 中的内存泄漏是否有任何修复?

4

1 回答 1

0

我在将 ac#Web 服务器流数据传输到 Web 客户端时遇到了类似的问题。在 C# 中有一种叫做大对象堆的东西。它将应该被垃圾收集的大对象放入堆中以备后用,而不是立即释放它使用的内存。这提高了性能,但在我的情况下,也可能在你的情况下,它永远找不到合适的时间来释放内存。

如果这是您的应用程序面临的问题,您可以使用以下代码片段告诉垃圾收集器立即释放内存来解决它:

GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; 
GC.Collect();

希望这可以帮助。

于 2019-06-27T08:14:44.893 回答