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