0

私のアプリは提供されたカテゴリで毎回ウェブから画像をロードする必要があり、それは機能しています.

プログラム '[4036] TaskHost.exe' はコード -2005270523 (0x887a0005) で終了しました。

コードは ---

void webClient_DownloadStringCompleted(オブジェクト送信者, DownloadStringCompletedEventArgs e) { if (e.Error != null) { timer.Stop(); 戻る; リスト rootobj = JsonConvert.DeserializeObject>(e.Result);

     int c = 0, x = 0;
        for (int i = 0; i < rootobj.Count; i++)
        {
            Image img = new Image();
            img.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
            img.VerticalAlignment = System.Windows.VerticalAlignment.Top;
            img.Height = 160;
            img.Width = 210;
            img.Stretch = System.Windows.Media.Stretch.Fill;


            BitmapImage bit = new BitmapImage();
            string path = rootobj.ElementAt(i).ThumbnailUrl;
            bit.UriSource = new Uri(path,UriKind.RelativeOrAbsolute);
            img.Source = bit;
   img.Margin = new Thickness(x, y, 0, 0);


            c++;
            if (c == 2)
            {
                x = 0;
                y = y + 160;
                c = 0;
            }
            else
            {
                x = x + 210;
            }
            mainGrid.Children.Add(img);  
        } mainGrid.Children.Add(grid);
       }

削除するために、これらを試しました--

        for (int i = 0; i < rootobj.Count; i++)
        {
            Image image = (Image)mainGrid.Children.ElementAt(i);
            BitmapImage bitmapImage = image.Source as BitmapImage;
            bitmapImage.UriSource = null;
            image.Source = null;
            bitmapImage = null;
            image = null;
        }

        grid.Children.Clear();

        mainGrid.Children.Remove(grid);

ただし、いくつかの種類の画像を選択した後でもクラッシュします。

4

1 に答える 1

0

次のようなことができます:

grid1.Children.Remove(image1);
image1 = null;
于 2013-03-11T07:14:55.300 に答える