【发布时间】:2013-07-29 14:39:10
【问题描述】:
我正在创建一个使用 webView videoView 查看不同视频流的 android 应用 (C#)。
大约 6 分钟后,应用程序崩溃。我相信这是某处的内存泄漏,但我无法修复它。我找到了一些解决 webView 内存泄漏的方法,但它们都在 java 中。
C# 中的内存泄漏是否有任何修复?
【问题讨论】:
标签: c# android memory-leaks android-webview
我正在创建一个使用 webView videoView 查看不同视频流的 android 应用 (C#)。
大约 6 分钟后,应用程序崩溃。我相信这是某处的内存泄漏,但我无法修复它。我找到了一些解决 webView 内存泄漏的方法,但它们都在 java 中。
C# 中的内存泄漏是否有任何修复?
【问题讨论】:
标签: c# android memory-leaks android-webview
我在 C# Web 服务器将数据流式传输到 Web 客户端时遇到了类似的问题。 在 C# 中有一种叫做 大对象堆 的东西。它将应该被垃圾收集的大对象放入堆中以备后用,而不是立即释放它使用的内存。这提高了性能,但在我的情况下,也可能在你的情况下,它永远找不到合适的时间来释放内存。
如果这是您的应用面临的问题,您可以简单地通过使用此代码 sn-p 告诉垃圾收集器立即释放内存来解决它:
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect();
希望这会有所帮助。
【讨论】: