FLEX RSL 應用注意事項

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來運行..

查看對方系統路徑
Documents and Settings/{username}/Application Data/Adobe/Flash Player/AssetCache/
並未發現那個526KB的SWZ 文件

出現這個情況..是因爲服務器的IIS不支持swz 後綴的文件 的下載..
(以前flv沒盛行之前也出現過這類情況),
如果是自己的服務器.我們只需要配置一下iis.添加一MIME類型即可..

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

swz_mimn

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章