第一次加载Flex应用速度过慢

将Flex应用部署到Tomcat 之后,应用第一次访问很慢,但是后续的访问速度很快。用户关心导致慢的原因和如何调优。
已邀请:

秦桐

赞同来自:

【问题分析】:
从用户发过来的HTTP监控截图分析,在初始加载flex应用时报了大量的Adobe网站下载crossdomain.xml的请求失败信息。但是后续访问ArcGIS Server服务正常。说明这个问题并不是ArcGIS Server 服务跨域访问失败引起的。
问题的主因是Flex框架本身的问题,在访问所需的框架资源之前,需要到公网adobe网站下载跨域文件,在用户纯内网的环境下下载失败,导致第一次加载网页时速度过慢。
具体的原理可以参考博文:https://forums.adobe.com/message/2428795 
【解决办法】:
 具体修复办法:
方法1:将用到的资源打包到SWF,编译时选择MX+Sark模式,具体参考:


方法2:需要把flex框架用到的swz文件宿主到本地环境的web server中, 保存路径需要和应用所在目录保持一致,然后修改flex builder的flex-config的RSL URLs。 这样可以避免由于无法访问在线资源造成的阻塞。 

样例: 
通常Flex-config.xml地址是:D:Program FilesAdobeAdobe Flash Builder 4.5sdks4.6.0frameworksflex-config.xml
在这个文件中,将的次序颠倒,即 本地的swz路径置于公网的swz路径之上,既可保证首先加载与主swf同级目录的swz文件。

对于已经成型的项目,可以在上图所示的项目属性中展开Flex4.6.0目录,将每个RSL的URL次序更改即可。

要回复问题请先登录注册