移除未使用的程式集ITPUB個人空間&{l8K'g%cA
Visual Studio在建立sl應用後預設情況下加了很多的程式集,有些可能是你根本就用不上的。ITPUB個人空間QkX/g8kS"ou
首先除了System引用將所有其他的刪除掉,然後重新編譯應用,將缺失的DLL重新添加回來。有很多的錯誤可能是由於添加了命名空間的引用,這裡有一個簡單的來去掉未使用的命名空間(usings),右鍵點擊一個類名,然後選擇Organize usings / Remove unused usings。
重新打包XAP檔案“越小越好”ITPUB個人空間ia@@ffK1q,M'Z1A
我們知道Silverlight的XAP包實質上就是一個標準的ZIP包,包內有一個AppManifest使得他在Silverlgith運行時中可正確的被解析。但是Visual Studio 2008在做XAP打包時並沒有做壓縮。ITPUB個人空間!Mm+M"Awh+xvk
這裡我們要做的是Winzip活Winrar將這個XAP解包,然後再做壓縮打包,將副檔名改成xap替換原始檔案。
將素材放在sl應用外部
5l3f%h9L'K DW0在之前方式中我們都是針對一個sl應用做的,但是當你在構建模組話的sl應用時,將素材檔案放在Silverlight XAP包的外部效果會更好。(或者放在外部ZIP包中再做壓縮,讓sl應用動態擷取。更多請看“Silverlight從Zip包中擷取檔案”未完成)
v?Mjo L)C0使用組件快取ITPUB個人空間1c1a3O&Z mt)M"ql
使用組件快取的辦法很簡單只需要在sl的屬性頁面,將library Caching設定為true即可
`.l$A+jM7ReO0(更多請看“silverlight自訂組件快取”未完成)
動態載入XAP
4m%c u?Z-q{\B0在silverlight開發的過程中可以將模組話,分解成多個xap檔案,有一個主xap來調用其他的xap做動態載入.ITPUB個人空間#O0W NE+Xv+X
舉一個例子,讓我們看看Photoshop這個網站,他是用flex技術完成的。
我們可以看出他的容器、類庫以及樣式都是動態載入進去的。ITPUB個人空間\@@^ wD@
在silverlight中可以用簡單的loadingXAP來完成(具體請查看“動態載入XAP檔案”),或者使用第三方的架構來完成,比如“Managed Extensibility Framework”、“Prism”。
n'Ap9h2WEk0這裡我使用了Prism架構來開發我的一個項目,可以來看一下效果。
可以看出各個模組是逐個載入的。