Очистить кеш в окне телефона 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()