当前位置: 首页 > news >正文

FLEX RSL(让你的swf瘦身)

FLEX发布体积过大是每个使用FLEX开发的朋友都知道的

那是因为FLEX在发布的时候会带一个框架文件,框架文件包含了所有的Flex内置类...
该文件大小大概是500多K,以致一个空的FLEX项目.发布后就有500多K

所以FLEX提供了RSL(runtime shared library)(运行共享库??),
让用户只需要下载相同版本的框架文件一次,然后存在FlashPlayer指定的cache目录中..
当下次再浏览应用了RSL的FLEX项目时,就不需要重新下载..从而加快加载速度.

....理论的东东不大会表达..差不多是这样吧...下面实际操作一下..

要应用RSL.我们执行下面的步骤:
1.在项目文件夹中点右建,选择"properties"-"Flex BuildPath"-"Library Path"
2.该选项卡上我们看到"FrameWork linkage",默认是选中"Merged into cdoe"(打包在里边..大概这意思)
3.点开下拉,选择"runtime shared library(RSL)",点"OK"


这样~我们的项目就已经使用RSL~把框架文件分离出来..
我们点开项目的bin(bin-debug)文件夹.
会看到已经生成了framework_3.0.0.477.swf和framework_3.0.0.477.swz两个文件(0,0,447是版本号).

再看看项目的swf..已经变成了50k左右(只有两三个组件)

当我们发布项目时..
只需要把framework_3.0.0.477.swf和framework_3.0.0.477.swz两个文件
跟项目swf放在一目录下传到服务器上即可...

ps:在这里说说两个值得注意的问题..

第一个是发布项目后出现RSL error..主要有两个原因:
1.使用低于9.0.115版本的FLASH PLAYER,,
2.没有把framework_3.0.0.477.swf和framework_3.0.0.477.swz传到服务器上..以至类库无法下载....

说第二个问题前..先介绍一下framework_3.0.0.477.swf和framework_3.0.0.477.swz,
其中framework_3.0.0.477.swz加载时会优先加载的..当加载成功后..会放到flash player的cache目录下.(完成RSL...).
当framework_3.0.0.477.swz下载失败的话..flashplayer会自动下载framework_3.0.0.477.swf,该文件只能下载到ie缓存..并不能达到RSL功能.,只保证项目可正常运行.

很从朋友反映..在本地浏览的时候..framework_3.0.0.477.swz可以正常加载到player的cache目录..
可是当放到服务器后..即会加载不成功..只能靠加载swf来运行..

出现这个情况..是因为服务器的IIS不支持swz后缀的文件的下载..
(以前flv没盛行之前也出现过这类情况),
如果是自己的服务器.我们只需要配置一下iis.添加一MIME类型即可..

详细操作就不说了..MIME类型如下..

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SVN1.6.3 教程 搭建服务器及myeclipse客户端使用
  • Python学习札记(三十五) 面向对象编程 Object Oriented Program 6
  • Flex SEO(Search engine optimization),让浏览器找到你的flash站点
  • [BSGS算法]纯水斐波那契数列
  • “天人项目网“亮相2009中国杭州电博会
  • 理解OAuth 2.0
  • 配置Flex Builder 使用Firefox进行调试
  • droppable
  • as3 error 列表
  • Flex Deep Link(深链接)
  • git全部使用步骤
  • flex常用快捷键
  • 读写csv文件
  • AIR应用程序中配置文件(*-app.xml)的说明
  • docker 初步使用
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 0x05 Python数据分析,Anaconda八斩刀
  • 2017 前端面试准备 - 收藏集 - 掘金
  • docker-consul
  • Docker入门(二) - Dockerfile
  • ES6--对象的扩展
  • ESLint简单操作
  • java8-模拟hadoop
  • laravel 用artisan创建自己的模板
  • Node项目之评分系统(二)- 数据库设计
  • Objective-C 中关联引用的概念
  • PAT A1050
  • Python - 闭包Closure
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 从零搭建Koa2 Server
  • 番外篇1:在Windows环境下安装JDK
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 简单基于spring的redis配置(单机和集群模式)
  •  一套莫尔斯电报听写、翻译系统
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 最近的计划
  • 如何在招聘中考核.NET架构师
  • ​2021半年盘点,不想你错过的重磅新书
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #NOIP 2014# day.2 T2 寻找道路
  • (19)夹钳(用于送货)
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • .gitignore文件使用
  • .jks文件(JAVA KeyStore)
  • .NET/C# 使用反射注册事件
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ Linux ] Linux信号概述 信号的产生
  • [240621] Anthropic 发布了 Claude 3.5 Sonnet AI 助手 | Socket.IO 拒绝服务漏洞
  • [ACTF2020 新生赛]Upload 1
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  • [CareerCup][Google Interview] 实现一个具有get_min的Queue
  • [CVPR2021]Birds of a Feather: Capturing Avian Shape Models from Images