Очистить кеш в окне телефона 7

Я хочу Dipose кеш в окне телефона 7. В моем проекте у меня есть скачать изображения, после использования я распоряжаться изображения по:

Image.source = null;
Image = null;

но память не возвращается к своему оригиналу, например:

После загрузки я установил источник изображения:

img.source = new bitmapImage(new uri("http://diadiem.com/image/123.jpg"),UriKind.Relative);

При следующей странице или LoadPage Again: я хочу очистить старый элемент и восстановить память в кеше. Хотя я пытался установить image.source= nullи установить контроль Image = null, Но память не возвращается к своему оригиналу.

Пожалуйста, помогите мне!

2 ответа

Решение

Чтобы удалить загруженный образ из кеша, необходимо назначить его источник отдельным BitmapImage и установите это в нуль прежде, чем установить источник изображения в нуль.

BitmapImage bitmapImage = image.Source as BitmapImage;
bitmapImage.UriSource = null;
image.Source = null;

Не спрашивай меня почему, но это работает.

То, что вы можете сделать для того, чтобы система всегда загружала изображение с URL-адреса, - это использовать следующее начало:

img.source = new bitmapImage(new uri("http://diadiem.com/image/123.jpg?random=" + randomvar)...

куда randomvar случайная величина, такая как GUID.NewGuid()

Другие вопросы по тегам