2015-02-11 62 views
0

我目前工作的一個應用程序,它會加載,並從獨立存儲和通過流的web服務(基於REST)上傳了幾張照片。圖片本身並不那麼大(每個流500kb - 2MB)。但經過幾次,總是不同的操作量(例如顯示或下載圖片列表),我得到了outOfMemory異常。 我也確信,在任何情況下,流都被正確關閉。OutOfMemoryException異常與流在WP8

using (MemoryTributary mem = new MemoryTributary(imageBytes)) 
       { 
        bitmapImage.SetSource(mem); 
        bitmapImage.CreateOptions = BitmapCreateOptions.IgnoreImageCache; 
        mem.Close(); 
       } 

在這種特殊情況下,我們還使用了下載類MemoryTributary應該能夠處理大數據比memoryStreams更好。
http://www.codeproject.com/Articles/348590/A-replacement-for-MemoryStream
不知怎的,我認爲所使用的資源並未被釋放,雖然流是封閉的,使用後。

+0

它大概與BitmapImage的處理問題。退房http://stackoverflow.com/questions/18127027/memory-consumption-of-bitmapimage-image-control-in-windows-phone-8 – 2015-02-11 14:33:36

+0

感謝您的快速答覆。我們現在嘗試使用該給定的方法嘗試,並將所有其他對象設置爲null。然後我們使用Collect。還是同樣的問題... – Anon 2015-02-12 10:08:25

+0

你絕對應該做一個內存分析,並分享results.https://msdn.microsoft.com/en-us/library/windows/apps/jj215908(V = vs.105)。 ASPX – 2015-02-12 10:17:46

回答

0

好了,現在我們得到了它。 UriSource也必須設置爲null。此外,XAML對象的來源必須在設置爲空之後進行更新,否則即使將來源設置爲空,它也會保留圖片。

相關問題