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