我已经在我的c#app(VS 2008)中从bitbucket实现了Geckofx 22.0。它运行良好,但唯一的问题是内存消耗。运行应用程序时使用大量计算机内存。我的应用程序必须播放一些本地flv以及swf文件。
请告诉我一些如何减少内存消耗的解决方案?
您可以尝试定期调用nsIMemory.HeapMinimize:
例如:
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);
}