WP7 App效能最佳化:圖片

來源:互聯網
上載者:User

在Windows Phone7應用程式中包含圖片時有很多的技巧可用以最佳化效能。本節將討論這些話題。

選擇JPG還是PNG格式

一個最簡單的提高效能的方法就是使用合適的圖片格式。Windows Phone 中支援兩種圖片格式:JPG和PNG。通常,JPG格式解碼速度比PNG更快,所以所有情況下都應該優先考慮JPG圖片,除非,圖片要使用透明的情況,此 時必須用PNG,因為JPG不支援透明。

選擇圖片還是XAML

在Expression Design中做設計時,可以建立很複雜的圖形效果。這些圖形可以匯出為XAML也可以匯出為圖片檔案。當圖形為靜態圖形時,應當考慮將其儲存為圖片而不 是XAML。實際顯示時,相比圖片的解碼與渲染兩個過程,XAML可能需要更多的處理。XAML需要解析XAML、在視圖樹中建立對象、渲染對象。例如, 在建立一個下棋遊戲時,你可能會用Expression Design為每個棋子建立一個很複雜的圖形效果。但是,因為棋子是靜態,所以從效能考慮應該將棋子匯出為圖片而不是XAML.

限制圖片大小

受限於手機有限的螢幕解析度,另一個最佳化效能的方法是限制圖片大小在2000*2000以內,這也是WP7環境片的大小上限。更大的圖片應在低解析度下取樣後顯示。如果圖片大於2000*2000其顯示會明顯減慢。

如果必須使用2000*2000以上的圖片,那麼應該每次只顯示圖片的一部分。你可以通過先將圖片載入到一個T:System.Windows.Media.Imaging.WriteableBitmap中,然後使用LoadJpeg(WriteableBitmap,
Stream)擴充方法來載入圖片。以下代碼示範了載入大圖片的推薦方法。

1234
<StackPanel>    <Image Height="3000" Width="3000" Name="image1" Stretch="Fill" />    <Button Content="Load" Height="70" Width="152" Click="btnLoad_Click" /></StackPanel>
123456789101112
 private void btnLoad_Click(object sender, RoutedEventArgs e){    StreamResourceInfo sri = null;    Uri uri = new Uri("LoadJpegSample;component/Test3k3k.JPG", UriKind.Relative);    sri = Application.GetResourceStream(uri);     WriteableBitmap wb = new WriteableBitmap((int)this.image1.Width, (int)this.image1.Height);     Extensions.LoadJpeg(wb, sri.Stream);    this.image1.Source = wb;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.