flex绘制性能优化

        在flex开发过程中,其实大部分的性能损耗和内存占用都是在舞台的元素中,包括元素重绘所占用的cpu等等,之前在flash开发时,一般的shape,sprite,movieclip等对象使用的比较多,而且他们占用内存更少,你可以通过函数:getSize(object) 来测试一下他们的大小。进入flex开发后,由于场景中的可视化元素都要继承IVistualElement这个接口才能进行展示,所以之前的flash素材是无法直接加入到flex的舞台中。而uicomponent是公认的最基础的原件,于是很多人都把素材放入到它里面进行包装后在舞台中进行展示,经测试uicomponent的内存占用也是很高。

        其实在flex中还有一个元素叫做:SpriteVisualElement ,他也继承了IVistualElement,而且根据adobe的手册中描述:SpriteVisualElement 类是 IVisualElement 接口的基于占用内存较少的 Sprite 的实现。经过测试发现比uicomponent原件节省近一半的内存占用,完全可以把flash设计好的movieclip和一些元素放入到它里面包装后加入到flex舞台上面。

        但是注意,由于SpriteVisualElement轻便,所以他没有关于layout等设置,他仅仅能对flash级别的元素对象进行包装,而不能用于flex元素的包装,比如把flex元素的label放入其中,你会发现什么都没有了。其实flex元素直接可以在舞台中进行添加也没有必要再嵌套一层,我们这里讨论的主要就是flash级别的元素如何高速的在flex中进行交互的方案,所以SpriteVisualElement应该是首选!

       如果你之前加载flash元素是用uicomponent,或者直接用swfloader,image等那么你可以尝试一下SpriteVisualElement,看看的flex项目是否占用内存更少,而且速度更快了。

       随便说一句,flex和flash比起来还真是臃肿很多。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值