我已经在我的 c# 应用程序(VS 2008)中从 bitbucket 实现了 Geckofx 22.0。它运行良好,但唯一的问题是内存消耗。运行应用程序时使用大量计算机内存。我的应用程序必须播放一些本地 flv 和 swf 文件。
请就如何减少内存消耗向我提出一些解决方案?
You could try periodically calling nsIMemory.HeapMinimize:
eg:
if (_memoryService == null)
_memoryService = Xpcom.GetService<nsIMemory>("@mozilla.org/xpcom/memory-service;1");
_memoryService.HeapMinimize(true);
[DllImport("kernel32.dll", SetLastError = true)]
private static extern int SetProcessWorkingSetSize(IntPtr process, int minimumWorkingSetSize, int maximumWorkingSetSize);
public void ClearGarbage()
{
GC.Collect();
GC.WaitForPendingFinalizers();
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
}