使用RSL(Runtime Shared Libraries)來減小Flex生成的SWF文件的大小(I) -- 介紹RSL
Posted on 2007-01-27 22:52 云自無心水自閑 閱讀(992) 評(píng)論(0) 編輯 收藏 所屬分類: Flex 、Flex2減小應(yīng)用SWF文件大小的一個(gè)方法就是將一些共享的外部資源拆分出去, 成為一個(gè)獨(dú)立的文件, 這樣可以單獨(dú)地加載緩存到客戶端. 這些共享資源可以由多個(gè)應(yīng)用在運(yùn)行時(shí)進(jìn)行加載, 但是傳遞到客戶端的動(dòng)作只會(huì)發(fā)生一次. 這些共享文件被稱為運(yùn)行時(shí)共享庫(Runtime Shared Libraries)或者簡寫為RSL.
如果你有多個(gè)應(yīng)用而且這些應(yīng)用共享一些核心組件或者類, 那么作為RSL,用戶只會(huì)唯一的一次加載這些資源. 只要應(yīng)用在同一個(gè)域中, 這些應(yīng)用共享同一個(gè)緩存的RSL, 這樣應(yīng)用文件的大小就減小了. 使用RSL的應(yīng)用越多, 效果越好, 如果只有一個(gè)應(yīng)用, 總的文件大小不但不減小,反而會(huì)增大.
你既可以使用Flex Builder通過項(xiàng)目選項(xiàng)來創(chuàng)建Flex的Library項(xiàng)目,也可以使用compc這樣的命令行. 編譯好RSL以后, 可以在編譯應(yīng)用時(shí)把Library的位置傳遞給編譯器.
下面是適合使用RSL的典型用例:
??? * 大型應(yīng)用, 需要使用通用組件庫加載多個(gè)小型應(yīng)用. 最頂級(jí)的應(yīng)用和下級(jí)應(yīng)用可以共享存儲(chǔ)在RSL中的組件.
??? * 在一個(gè)服務(wù)器上的使用通用組件庫的系列應(yīng)用. 當(dāng)用戶操作第一個(gè)應(yīng)用時(shí), 用戶下載應(yīng)用的SWF文件和RSL. 當(dāng)操作第二個(gè)應(yīng)用時(shí), 用戶就只需要下載應(yīng)用本身的SWF文件就行了.
????
??? * 一個(gè)獨(dú)立的應(yīng)用使用RSL的意義在于: 如果這個(gè)應(yīng)用本身會(huì)頻繁的修改, 而有一部分組件是極少改動(dòng)的. 在這種情況下, 使用RSL的好處是: 組件下載一次, 而應(yīng)用可以多次下載.
?