2012-10-18 42 views
2

我有一個listbox其中我load images dynamically from the web as user scrolls。考慮它是一個無限的滾動。我目前的display size is 72X72。但如果我滾動應用程序退出幾分鐘後increase the display size to 288x288 (4 times)退出給出outofmemory system error。它已經開始經常發生在我的512MB device大圖像上。這關係到我,因爲它會在256 MB設備上更快發生。如何處理這種情況,請嘗試不要處理這些系統錯誤?什麼是most optimum處理如此巨大的圖像列表的方式?如何處理OutOfMemory Windows手機

+0

您是否在本地存儲傳入圖像之前調整傳入圖像的大小?要用72x72圖像填充512MB,您將需要大量圖像。 – KyorCode

+0

雅我有一個巨大的圖像來源。我不會在本地存儲時調整它們的大小。 –

+0

我認爲你應該這樣做,如果你只想在72x72中顯示它,那麼存儲800x600的圖像沒有意義。 – KyorCode

回答

2


我也經歷了WP7或WP7.5這個蹩腳的問題。

有與Windows手機圖像一個巨大的問題7.
從隔離存儲爲流讀取和設置爲Bitmap類對象的來源時相比,你也會看到appox大小900KB的形象有巨大改變/增加內存使用量(在我的情況下爲5-6MB)。

只要通過這個網站,你就會明白其餘的。
Silverlight-s-big-image-problem-and-what-you-can-do-about-it

對於長圖像上市問題
1.規模的U從服務器獲取圖像。
2.使用LongListSelector tool以使用數據虛擬化技術列出圖像

0

您可以使用Jeff Wilcox MemoryDiagnosticHelper來控制內存使用情況。如果它大約是90 MB,則可以運行圖像清理過程。 只需卸載用戶目前無法看到的圖像BitMaps(Image.Source = null)。

壓縮圖像也是一個很好的做法(例如使用服務器端壓縮)。