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