オブジェクトのコレクションがあり、各オブジェクトにはBitmapImageが含まれています。このコレクションをFlipViewにバインドしています。ユーザーがFlipViewでページをめくると、選択したオブジェクトのBitmapInmageがApplicationDataから読み込まれ、前のオブジェクトのBitmapImageをnullに設定して、メモリを解放します。問題は、メモリが解放されることはなく、アプリがしばらく反転した後にクラッシュすることです。コレクションを見ると、実際のアイテムだけにBitmapImageが設定されており、他のすべてのアイテムにはnullとして設定されています。では、どうすれば記憶を和らげることができますか?
画像を読み込む方法:
StorageFile s = await ApplicationData.Current.LocalFolder.GetFileAsync(localFilename);
BitmapImage bitmapImage = new BitmapImage();
using (var stream = await s.OpenAsync(FileAccessMode.Read))
{
bitmapImage.SetSource(stream);
}
return bitmapImage;
編集:問題は画像の読み込み方法にあると思います。ファイルストリームが解放されないと思います