2010-09-06 38 views
2

我的Silverlight應用程序中有一個自定義控件,它放在畫布上約一千次。我很關心這個應用程序的XAP文件的大小。長類名是否會影響XAP文件的大小?

XAP文件是否明確包含相同數量的此控件的名稱?我是否可以通過將自定義控件的名稱從10個字母改爲2個字母來縮小XAP文件的大小。我如何計算類名長度對XAP文件最終大小的影響?

回答

2

如何計算類名長度對XAP文件最終大小的影響?

簡單的答案:你可以測試它。構建您的XAP文件,重命名類,重建XAP文件,並查看大小差異(如果有)。

我期望的類的名稱在元數據中只出現一次,但如果你給長名稱在XAML的情況下,也可以有所作爲。

+0

是的,測試給了答案。將該類名從11個字母縮短爲2個,將336 KB的解壓縮XAP文件夾的大小僅減少了9K,而壓縮後的XAP保持大小相同 - 79k。感謝鼓勵我通過測試找出它,我應該養成良好的習慣:) – rem 2010-09-08 18:10:44

1

XAP文件只是一個ZIP文件,其中包含已編譯的二進制文件。您的XAML文件作爲資源嵌入到已編譯的二進制文件中。

所以是 - 控件名稱的長度會影響XAP文件的文件大小。

有多少是不同的問題。 XAP文件是壓縮的ZIP文件。作爲一個例子,我有一個帶有2個DLL的XAP文件。一個從282k壓縮到94k,另一個從46k壓縮到16k。

但我更擔心你的控件爲什麼會在單個頁面中出現1000次。當然,必須有更好的方式來做到這一點。也許即使在代碼中執行它也會更容易/更好?

+0

是的,你是對的。並且特別感謝您指出了嘗試在代碼中實現它的可能方式。我到目前爲止沒有嘗試過,但我會。 +1 – rem 2010-09-08 18:21:13

2

如果大小對你很重要,我認爲你是在擔心錯誤的事情。與名稱太長相比,您更可能包含未使用的代碼或DLL或大型資源。記住該文件是壓縮文件並且文本壓縮非常好,因此重複相同長控制名稱1000次的效果是最小的。

也不要忘記重新壓縮您的XAP文件提供更好的壓縮軟件(如zip壓縮你在由Visual Studio內置XAP文件是不是最佳的!)

你好得多擔心漸進式加載,因爲大多數Silverlight應用程序的體積過於龐大(並且遠遠超過大多數網絡用戶預期/推薦的第二次關注範圍)。

+0

是的,你是對的。縮短名稱的效果不明顯。更有效的是擺脫無用的DLL。謝謝,+1 – rem 2010-09-08 18:14:45

相關問題