FLEX RSL(讓你的swf瘦身)

來源:互聯網
上載者:User

FLEX發布體積過大是每個使用FLEX開發的朋友都知道的

那是因為FLEX在發布的時候會帶一個架構檔案,架構檔案包含了所有的Flex內建類...
該檔案大小大概是500多K,以致一個空的FLEX項目.發布後就有500多K

所以FLEX提供了RSL(runtime shared library)(運行共用庫??),
讓使用者只需要下載相同版本的架構檔案一次,然後存在FlashPlayer指定的cache目錄中..
當下次再瀏覽應用了RSL的FLEX項目時,就不需要重新下載..從而加快載入速度.

....理論的東東不大會表達..差不多是這樣吧...下面實際操作一下..

要應用RSL.我們執行下面的步驟:
1.在專案檔夾中點右建,選擇"properties"-"Flex BuildPath"-"Library Path"
2.該選項卡上我們看到"FrameWork linkage",預設是選中"Merged into cdoe"(打包在裡邊..大概這意思)
3.點開下拉,選擇"runtime shared library(RSL)",點"OK"

這樣~我們的項目就已經使用RSL~把架構檔案分離出來..
我們點開項目的bin(bin-debug)檔案夾.
會看到已經產生了framework_3.0.0.477.swf和framework_3.0.0.477.swz兩個檔案(0,0,447是版本號碼).

再看看項目的swf..已經變成了50k左右(只有兩三個組件)

當我們發布項目時..
只需要把framework_3.0.0.477.swf和framework_3.0.0.477.swz兩個檔案
跟項目swf放在一目錄下傳到伺服器上即可...

ps:在這裡說說兩個值得注意的問題..

第一個是發布項目後出現RSL error..主要有兩個原因:
1.使用低於9.0.115版本的FLASH PLAYER,,
2.沒有把framework_3.0.0.477.swf和framework_3.0.0.477.swz傳到伺服器上..以至類庫無法下載....

說第二個問題前..先介紹一下framework_3.0.0.477.swf和framework_3.0.0.477.swz,
其中framework_3.0.0.477.swz載入時會優先載入的..當載入成功後..會放到flash player的cache目錄下.(完成RSL...).
當framework_3.0.0.477.swz下載失敗的話..flashplayer會自動下載framework_3.0.0.477.swf,該檔案只能下載到ie緩衝..並不能達到RSL功能.,只保證項目可正常運行.

很從朋友反映..在本地瀏覽的時候..framework_3.0.0.477.swz可以正常載入到player的cache目錄..
可是當放到伺服器後..即會載入不成功..只能靠載入swf來運行..

出現這個情況..是因為伺服器的IIS不支援swz尾碼的檔案的下載..
(以前flv沒盛行之前也出現過這類情況),
如果是自己的伺服器.我們只需要配置一下iis.添加一MIME類型即可..

詳細操作就不說了..MIME類型如下..

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.