我正在创建一个使用webView videoView查看不同视频流的Android应用程序(C#)。
大约6分钟后,应用程序崩溃了。我相信这是一个内存泄漏,但我无法修复它。我找到了一些方法来解决webView内存泄漏问题,但它们都是在java中。
C#中的内存泄漏是否有任何修复?
答案 0 :(得分:0)
我在c#Web服务器上将数据流传输到Web客户端时遇到了类似的问题。 在c#中有一个叫做大对象堆的东西。它将应该被垃圾回收的大对象放入堆中以备后用,而不是立即释放它使用的内存。这样可以提高性能,但就我而言,也许就您而言,它也找不到合适的时间释放内存。
如果这是您的应用程序所面临的问题,则可以使用以下代码片段来告诉垃圾收集器立即释放内存:
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect();
希望这会有所帮助。