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