减少Flex应用加载时间的几种方法

忽然意识到很久我都没有写过博客了. 

我们使用flex,经常碰到的一个问题是, 如何减小应用的尺寸. 问题有时候很严重:
1. 一个空的flex应用(未写任何代码), 编译后都能达到300多k. 完整的应用很可能都在不可接受的范围了.
2. 在初始化一个flex应用的时候, 程序越复杂, 出现假死的时间就越长----初始化阶段对CPU的占用过高.

我有一些自己以为还不错的建议, 与大家共享:

检查资源嵌入
1. 在flex程序中, 尽可能不去嵌入资源, 图片, 声音. 
2. 尽可能使用矢量的图形.
3. 需要嵌入字体, 只嵌入需要的字符.
4. 尽可能使用Programming Skinning, 不是简单的CSS资源嵌入.

使用Module加载技术
1. 规划应用, 模块化, 做到Load on demand.
2. 参照主程序优化Module, 使得在编译Module时, 不会重复编译入主程序已经带的框架代码.


使用RSL和Framework缓存
RSL是2.x时代带来的技术. 不多说.
Framework缓存要求Flash Player9.0.115或者更高版本, 
这种缓存技术允许我们把Flex 应用所依靠的一些框架分离, 缓存在客户端, 使得再次访问的时候只下载剥离了框架的主程序.
我实验过, 如果做的好, 主程序会减少200K-300K, 一个空的应用, 在这样处理后, 只有20K以内.


Monolithic Flex SWFs
SWF文件是流式加载的, 我们在Flash时代, 都知道这个道理, 如果反编译Flex生成的swf文件, 会发现, 这个文件是一个两frame的swf. 第一frame是preloader, 剩下的事情全部是第二frame做. 

我觉得, 这种方法还是有点hack的.
下一篇文章里, 我会详细介绍这种做法.









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值