I have a Flex 4 application which uses SWFLoader to load other Flex applications. Both the loading and loaded applications are built as RSL. In websphere Portal, I have 8 portlets. Each of these portlets calls the main Flex application which in turn calls other Flex applications. Since all the 8 portlets are loaded simultaneously, the Framework RSLs are loaded 8 times, instead of only once. This increases the downloaded size as well as time taken for download. Please suggest a way to fix this issue.
Only compile the top-level application with RSLs. Compile the other applications with RSL linkage turned off (-static-rsls=true) and put the libraries used as RSLs on the external library path (-external-library-path). Putting the RSL libraries on the external library path will make the application smaller by preventing the linkage of classes in the specified library, the same thing RSL linkage does. The sub-applications do not need to load the RSL(s) because the main application has already loaded them. For example, if your sub-applications are using RSL linkage with framework.swc and loading the framework RSL, what you would do instead is compile with framework.swc on the external library path and RSL linkage turned off (-external-library-path+=$/libs/framework.swc -static-rsls=true).
Flex Hero has a fix for loading the same RSL more than once.