Silverlight發布時的優化工作(下)

作者: Leon Weng  來源: 博客園  發布時間: 2010-08-24 22:28  閱讀: 2115 次  推薦: 0   原文鏈接   [收藏]  
摘要:Web開發過程中,當項目上線時需要發布程序,在這個過程需要對每種技術進行優化,比如前端需要壓縮資源文件(js,css,圖片等),也會對HTML頁面進行相關處理。Silverlight也不例外,詳細請看下文。

  相關文章:Silverlight發布時的優化工作(上)

  一、 項目資源優化

  資源在silverlight中存在形式:

  Resource —— 資源會被打包在程序集內部

  Content——資源會被打包在Xap包里面

  None——資源既不會被集成到程序集內,也不會打包到xap包中。不過我們可以通過設置CopyToOutputDirectory選項讓其自動拷貝到xap包所在目錄。

  Resource和Content兩種缺點是造成xap包很大,一次性下載到客戶端比較慢。None能生成最小的xap包,資源通過IIS使用URI作為文件下載訪問,第一次加載到silverlight緩存中后,以后將不會下載。

  同一個項目中的資源調用驗證

  是否緩存已下載圖片驗證

  一個父窗口有圖片3.jpg,通過父窗口打開的子窗口中有圖片penguins.jpg,第一次打開時加載,以后將不會再加載兩個圖片。

clip_image002[6]clip_image004[6]  三種打包方法的下載時間:

  1、資源放在web下,xap和資源分離。

clip_image006[6]clip_image008[6]  2、資源打包到程序集,由于打包到xap兩者都是下載xap,不做測試。

clip_image010[5]  二、 DLL優化

  查看silverlight項目屬性的時候會發現這個選項。

clip_image012[4]  未選中時1090K。

clip_image014[4]clip_image016[4]  使用緩存后。

clip_image018[4]clip_image020[4]  需要時加載原則來控制下載文件大小。

  這種將xap包中的DLL分別打包的方式,優點在于如果是多項目的silverlight,比如一個解決方案中有2個 silverlight項目,那么兩個項目都含有system.windows.controls.zip這個包,如果沒有將這些DLL提取出來則分開打包,兩個xap包中均含有system.windows.control.dll,如果提取出來,則兩個xap包都減小了,可以去掉一個system.windows.control.dll的冗余。

  減小前:

clip_image022[4]  減小后:

clip_image024[4]  如果使用了OOB,則此方法不適用。也可以將幾個項目用到的通用DLL都放到ClientBin中。如果您有其他的方法,歡迎交流。

0
0
 
標簽:Silverlight
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()