Flex4 初始化过慢解决方法
昨天找了個免費.net空間,想測試一下做的一個簡單Flex4 上傳項目的效果。上傳所有文件到網站之后,訪問項目頁面,進度條一點一點艱難的向前移動,到了100%后卻不出現程序界面,等待一會兒還是沒有出現,于是我去做了別的事情,N分鐘之后再來看的時候界面才終于出來了。程序倒是沒有問題,可以上傳文件。但是這慢到令人發指的初始化加載速度卻令人吃驚,很難想象如果用戶需要等待這么長時間才能成功訪問一個頁面是多么可怕的事情。
在網上搜索發現也有朋友遇到了類似的問題,就是初始化太慢。有人評論說Flex4 不如3,還有說退回到flash吧。。我于是就懷疑flex4 是不是真的就是這么個速度。。當然,后來經過不斷探索,發現Flex4也是可以很快的(不然誰還用flex4)。
今天早上先上傳了個Flex3項目,測試一下速度,果然很快。。幾秒鐘就加載完畢了。而之前的Flex4 卻依然緩慢。我突然想到去找找網上的Flex4 站,看看他們的速度怎么樣,結果鼓舞人心,速度很快也是幾秒鐘的事er。那不可懷疑的,說明我們的程序(編譯)還是有問題。
搜索找到了一篇文章關于FLex 4 framework 框架加載的感受(http://docs.iteye.com/blog/521568 )然后又找到了Adobe的論壇(http://forums.adobe.com/message/2428795#2428795)弄明白了原因和解決方案。之所以加載緩慢是因為在Flash builder默認使用了RSL(運行時共享鏈接),Flex4為了加快加載速度使用了RSL,即把可以共享的框架、類庫單獨生成文件,并在請求時緩存到Flash cache中,這樣只要是同域的Flex項目就都可以使用而不必重新加載從而加快了加載時間。而問題也恰恰處在這個默認設置上,這些共享文件的優先位置是從Adobe的服務端上下載,正是這個請求下載過程造成了加載奇慢。解決的辦法就是將這些文件的位置優先指向自己的服務器(本地),Flash builder的Release 發布也可以生成這些文件,只要將這些.swz文件上傳至服務器即可。
如何設置RSL路徑。網上找了半天,大多數是flex-config.xml,但這個是Flex3的,Flex4 默認是不使用這個文件了。在Adobe的幫助文檔上找到了Customize the deployment location of the framework RSLs(http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7add.html)設置方法如圖,打開項目--屬性--flex構建路徑--庫路徑標簽,點開Flex4.1 選擇framework.swc的鏈接類型--編輯--彈出庫路徑選項框。
可以看到默認的adobe的server路徑在第一個,第二個是本地路徑(要求與swf在同目錄),將第二個調到第一位置(圖中已調整)。當然也可以自定義路徑,可以是相對的或絕對地址。點擊確定保存設置。
這樣依次設置
framework_4.0.0.14159.swz
osmf_flex.4.0.0.13495.swz
rpc_4.0.0.14159.swz
spark_4.0.0.14159.swz
sparkskins_4.0.0.14159.swz
textLayout_1.0.0.595.swz
(這篇文章也很有用http://devgirl.org/2010/04/08/framework-rsls-in-flex-builder-vs-flash-builder-performance-and-important-info/)
最后點擊項目(Project)--導出發行版(Export Release Build),在bin-release下可以看到生成的.swz文件,第一次要把所有的文件上傳到網站,以后只要是同域的其他Flex項目指定好RSL路徑,就不必再上傳.swz文件了,這樣大大減小了swf文件的大小,加快了加載速度。
?
到此解決了開始的問題,同時使得RSL的優點也得到體現。
轉載于:https://www.cnblogs.com/dingyingsi/p/3411153.html
總結
以上是生活随笔為你收集整理的Flex4 初始化过慢解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ 1611 The Suspec
- 下一篇: PHP异常与错误处理机制