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