WP7上的Image使用技巧 .

 

如果經常開發App,WP7上的Image顯示造成的內存增大問題一定會遇到,以下是一些使用技巧幫助減少這類情況的發生:

JPG vs. PNG

如果不是必須要使用透明圖片,JPG是最好的選擇,WP7的JPG編碼速度要大大快於PNG

Resource vs. Content

將圖片(或其它種類資源)用何種類型進行XAP編譯綁定的時候。Resource和Content有很大的不同,Resource會綁定到Dll之中,在顯示圖像時很快,但加載整個XAP包時很慢。而Content會使得加載XAP應用時很快,但加載圖像時稍慢一些。根據情況選用,使用方法:

Content: <Image Source=”/ImagesAsContent/smiley1.png”/>
Resource: <Image Source=”..\ImagesAsResource\smiley3.png”/>

Async vs. Sync 異步或同步加載圖片

BitmapImage.UriSource = uriSource; // 從URI中讀取,異步加載

BitmapImage.SetSource(stream);     // 從流中讀取,同步加載

圖片緩存

如果內存沒有被回收,可以考慮主動釋放:

BitmapImage bitmapImage = image.Source as BitmapImage;

bitmapImage.UriSource = null;

image.Source = null;

自定義編碼

如果所需圖片尺寸不需要很大,可以將來源進行重編碼,使用PictureDecoder API可完成這個操作如下:

image.Source = PictureDecoder.DecodeJpeg(jpgStream, 192, 256);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章