Silverlight發布時的優化工作(下)
一、 項目資源優化
資源在silverlight中存在形式:
Resource —— 資源會被打包在程序集內部
Content——資源會被打包在Xap包里面
None——資源既不會被集成到程序集內,也不會打包到xap包中。不過我們可以通過設置CopyToOutputDirectory選項讓其自動拷貝到xap包所在目錄。
Resource和Content兩種缺點是造成xap包很大,一次性下載到客戶端比較慢。None能生成最小的xap包,資源通過IIS使用URI作為文件下載訪問,第一次加載到silverlight緩存中后,以后將不會下載。
同一個項目中的資源調用驗證
是否緩存已下載圖片驗證
一個父窗口有圖片3.jpg,通過父窗口打開的子窗口中有圖片penguins.jpg,第一次打開時加載,以后將不會再加載兩個圖片。
1、資源放在web下,xap和資源分離。
2、資源打包到程序集,由于打包到xap兩者都是下載xap,不做測試。
查看silverlight項目屬性的時候會發現這個選項。
這種將xap包中的DLL分別打包的方式,優點在于如果是多項目的silverlight,比如一個解決方案中有2個 silverlight項目,那么兩個項目都含有system.windows.controls.zip這個包,如果沒有將這些DLL提取出來則分開打包,兩個xap包中均含有system.windows.control.dll,如果提取出來,則兩個xap包都減小了,可以去掉一個system.windows.control.dll的冗余。
減小前:
如果使用了OOB,則此方法不適用。也可以將幾個項目用到的通用DLL都放到ClientBin中。如果您有其他的方法,歡迎交流。