2014-03-02 68 views
0

在處理圖像時,我在C#應用程序中獲取了Out of Memory exception。我在我的電腦上測試它,我擁有8GB內存,比應用程序使用的還要多。我已經檢查了GC.TotalMemory(false)。處理運行前,它說(轉換爲MB)2MB,在沒有等待垃圾回收後,它說4MB。處理時達到頂峯時的81 MB圖像處理內存不足,但有大量內存

我首先想到它與綁定限制有關,因爲它在WCF服務中工作,但沒有找到可導致該異常的任何參數。

我認爲我的應用程序在高峯期使用81MP內存時應該沒有問題,甚至更多。我做錯了什麼? - 謝謝。

運行的處理的循環:

Parallel.For(0, count, i => 
    { 
     Task<int>.Factory.FromAsync(proxy.BeginSaveImage(sp, new AsyncCallback(CompleteSave), state), proxy.EndSaveImage).ContinueWith(result => {}); 
}); 

並行運行和異步調用圖像處理方法。

+0

你可以張貼一些代碼拋出內存異常呢?你的程序是否有遞歸? – PlasmaPower

+0

這是哪個操作系統? –

+0

你可以編譯爲一個64位的應用程序,然後再試一次嗎? – Enigmativity

回答