|
最近做開(kāi)發(fā)時(shí),silverlight的xap越來(lái)越大,如果不進(jìn)行優(yōu)化嚴(yán)重影響到客戶(hù)端的體驗(yàn),因此看了一些資料,總結(jié)一下。
一、XAP包是可分解的
Silverlight應(yīng)用最終是借助于http協(xié)議以web形式到達(dá)客戶(hù)端的,我們編寫(xiě)的silverlight包,就是xap,其實(shí)是一個(gè)壓縮包,包含了許多個(gè)控件及資源,可以通過(guò)更改后綴為ZIP,通過(guò)右鍵打開(kāi)一探究竟。
更改后綴后再使用壓縮軟件打開(kāi)后發(fā)現(xiàn)。
了解這個(gè)基本知識(shí)后呢,就可以從分解這個(gè)xap包開(kāi)始了進(jìn)行優(yōu)化工作了,這里的優(yōu)化工作分為兩部分:
- silverlight客戶(hù)端緩存驗(yàn)證
- silverlight本身的DLL分解
- 資源的分解
二、Silverlight緩存資源的驗(yàn)證
Silverlight在客戶(hù)端是可以緩存資源的,一次下載,重復(fù)使用。
這個(gè)可以通過(guò)Fiddler測(cè)試出來(lái)資源的加載情況。
三、利用VS2010中的silverlight中的利用選中“應(yīng)用程序庫(kù)緩存減小xap體積”來(lái)控制每一次僅下載所需要的DLL。
在SL項(xiàng)目中添加一個(gè)childwindow,然后我們改寫(xiě)一下MainPage.xaml.cs代碼:
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
Test t = new Test();
t.Show();
}
NET技術(shù):Silverlight發(fā)布時(shí)的優(yōu)化工作(上),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。