1

私はOutofMemoryExceptionこの特定のコードを取得しています。

public BitmapImage GetImage(int pageNo)
        {
            if (!this._isLoaded)
            {
                this.Load();
            }
            using (IsolatedStorageFileStream stream = IsolatedStorageFile.GetUserStoreForApplication().OpenFile(this.FileNames[pageNo], FileMode.Open, FileAccess.Read))
            {
                BitmapImage image = new BitmapImage();
                image.SetSource(stream);            

                return image;

            }
        }

でメモリ不足の例外が発生していimage.SetSource(stream)ます。null画像を返さなければならないので、uri を設定できません。

この問題の回避策は何ですか? ここで私を助けてください。

4

1 に答える 1

3

このビットマップ画像のリストがありました。

 private List<BitmapImage> _images = new List<BitmapImage>();

ページを離れるときに uri をクリアしました。

 protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            base.OnNavigatedFrom(e);
            this.DataContext = null;
            foreach (var obj in this._images)
            {
                if (obj != null)
                {
                    obj.ClearValue(BitmapImage.UriSourceProperty);
                }

            }
于 2013-04-05T12:56:01.940 に答える