我正在使用Windows Phone 8應用程序,並且遇到了從文件流釋放資源的問題。當我訪問獨立存儲以獲取圖像時,會出現問題,然後將圖像設置爲視圖上的圖像源;這一切都發生在頁面加載時。 (我正在使用Windows Phone應用程序分析工具查看內存使用情況)。此外,無論何時關閉並重新打開應用程序中的頁面,內存使用率都會繼續增加。在Windows Phone 8中未釋放內存資源
這是我的代碼來獲取圖像,並將其設置:
IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile("background.jpg", FileMode.Open, FileAccess.Read))
{
BitmapImage imageFile = new BitmapImage();
imageFile.SetSource(fileStream);
BackgroundImage.ImageSource = imageFile;
// tried using .Close() but it wasn't releasing the resources as well.
fileStream.Dispose();
}
有別的我應該做的正確釋放資源?
編輯
我意識到自己的問題......當應用程序首次啓動時我有它設置,我打開上面的代碼相同的圖像。所以當我用相同的圖像打開一個新頁面時,它似乎不會釋放現有的文件流資源,因爲它一遍又一遍地打開相同的文件。解決的辦法是在我的視圖模型中添加一個BitMapImage屬性,我可以隨時訪問,而無需不斷地抓取獨立存儲中的文件。
感謝所有人
你確定上面的代碼使問題?網頁中是否有其他代碼? – asitis