|
相信大家在用Silverlight做應用開發時,隨著項目的進展系統功能越來越多,肯定為Xap包越來越大而煩惱,Xap包的大小直接影響應用程序的加載速度,給用戶造成不良的用戶體驗。我也曾為這個問題頭痛過,經過在網上查閱資料和項目實踐發現可通過以下三種方式給Silverlight應用程廋身。
1、定期檢查系統項目模塊的引用集,移除多余的引用庫
2、圖片資源文件,如果不是必須放在資源中的,可以采用按需加載
3、將系統劃分成多個Silverlight項目,然后根據需要進行Xap加載
下面我將結合實例來對三種方法進行說明:
一、定期檢查,移除多余引用庫
在我們實際項目開發中,我們有時因技術的需要會引用一些第三方控件、.NET FrameWork框架下的動態庫,但后來發現不需要這么做只是在界面上或代碼中移除控件,沒有對程序集引庫進行檢查移除,從而導致在Xap包中打入了一些無用動態庫,造成資源浪費,Xap包體積增大。這種方法簡單,只要在項目日常管理中注意就能解決。
二、圖片資源按需加載
圖片資源在應用系統中占有相當大的比重,如我們的界面上的背景、按鈕圖標等等。它們都被編譯到項目dll文件中,然后打包到Xap中。為了減小Xap包的大小,我們可以把圖片資源和Xap包分開存放,當系統需要進行下載。
操作實例:
1、用Vs2010添加名稱為LoadImage的SL Application項目
2、在SL Application項目中添加images文件夾,然后在文件夾中添加兩張圖片1.png、2.jpg,將兩張圖片的Build Action屬性由原來默認"Resource"改成"DesignData",這么做的好處是圖片在設計期可用,便于界面設計,程序編譯時圖片不在Xap包中。如下圖所示:
3、在LoadImage.Web項目中的ClientBin目錄下也添加images目錄,并且添加圖片1.png、2.jpg。如下圖所示:
4、在LoadImage項目的MainPage.xaml文件中添加如下代碼:
<Grid x:Name="LayoutRoot">
<Grid.Background>
<ImageBrush ImageSource="/images/1.png" />
</Grid.Background>
<Image Grid.Column="1" Source="/images/2.jpg" Height="300" Width="400"></Image>
</Grid>
NET技術:Silverlight開發廋身攻略(一),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。