clear cache in window phone 7

2019-02-15 12:05发布

问题:

I want Dipose cache in window phone 7. In my project I have download Images, after use I Dispose Image by:

Image.source = null;
Image = null;

but memory does not return to its original, for example:

After download I set source of image :

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

When next Page or LoadPage Again: I want clear item old item, and Replease memory in cache. Although I tried set image.source= null, and set control Image = null. But memory does not return to its original.

Please help me!

回答1:

To remove a downloaded image from the cache you need to assign it's source to a separate BitmapImage and set that to null before setting the image's source to null.

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

Don't ask me why, but it works.



回答2:

What you can do to enforce system to load image always from the URL is to use the following inception:

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

Where randomvar is a random variable like GUID.NewGuid()