Flex 性能优化

来源:互联网 发布:unity3d ugui摇杆 编辑:程序博客网 时间:2024/05/21 12:45
 

转自:http://bbs.9ria.com/thread-82850-1-1.html

1. 关于存储

使用适当的 Display Object
* Shape – 没有交互(占内存少)
* Sprite – 有交互(占内存多)
* MovieClip – 有时间线(占内存更多)
尽可能重用对象,而不要重新创建
强制类型转换 int(exp) 要比 Math.floor() 和 Math.ceil() 快很多
使用对象池技术重用对象
释放内存 – 将所有对象的引用设置为 null
尽可能重用 BitmapData
Callback 要比 event 快而且消耗更少的内存

2. 减少 CPU 使用率

即便将一个 Display Object 从 stage 上移除了( removeChild ) 甚至是已经将它的引用设置为 null,它依然有可能在消耗 CPU。所以要在其移出 displaylist 时将其完全停下来(比如 mc.stop() )。
卸载从外部装载的内容时,使用loader.unloadAndStop(),而不要使用 loader.unload()。
尽可能禁用鼠标交互。obj.mouseEnabled = false; obj.mouseChildren = false;
Timer 在某些情况下比 ENTER_FRAME 要好。
减少 tweening 的使用。

3. ActionScript 性能

尽可能使用 Vector 替代 Array。固定长度的 Vector 更快。( Vector 可以这样初始化:var coords:Vector.<Number> = Vector.<Number>([132, 20, 46, 254, 244, 100, 20, 98, 218, 254]);)
新的 drawing API 更快,它们是:drawPath, drawGraphicsData, drawTriangles。
使用 setVector() 方法来处理像素。
使用 setPixel() 和 setPixel32 方法时,要配合使用 lock() 和 unlock() 方法。
使用 TextField 时,appendText() 方法比 += 操作符要快。
尽可能在避免在循环内更新 TextField。
尽可能少使用方括号操作符访问 Vector 或 Array 元素,可以利用一个临时变量来操作。
尽量将代码内嵌,避免过多的函数调用。(比如用 value > 0 ? value : -value; 来代替 Math.abs())
代码量过大也会造成性能的降低。尽量少使用大型第三方库(Flex, TLF)。
避免在循环内使用取值表达式(myArray.length)。用临时局部变量来操作。
更多优化技巧参考:http://www.rozengain.com/blog/20 ... t-30-optimizations/

4. 渲染性能

尽可能避免使用 alpha 参数。
适当的使用 cacheAsBitmap 可以大幅提高性能。(对于变化少的矢量元件)
针对每个子元件使用 cacheAsBitmap 而不是针对父元件使用。
使用 TextLine 处理静态文本比 TextField 快而且使用更少的内存。
使用 cacheAsBitmap 和 opaqueBackground 参数可以改进渲染性能(包含 TextField )。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一开门对厕所门怎么办 房子窗户对着路怎么办 电梯门对入户门怎么办 鞋柜对着入户门怎么办 入户门对着窗户怎么办 院子门对着窗户怎么办 电梯入户同梯人怎么办 房门对着电梯门怎么办 房门对着电梯口怎么办 大门对着电梯门怎么办 房门和电梯对着怎么办 搬家与生肖相冲怎么办 颈椎生理曲度变直怎么办 整个背部长痘痘怎么办 卧室门对着厨房怎么办 卧室门正对厕所怎么办 进门正对厕所门怎么办 门口对着厕所门怎么办 厨房门比大门高怎么办 鼻子上山根横纹怎么办 墙与床的缝隙怎么办 床边与墙有间隙怎么办 抽了烟头晕恶心怎么办 9个月宝宝口臭怎么办 狗舔了人的伤口怎么办 狗舔了结痂伤口怎么办 狗狗指甲变黑了怎么办 狗狗不肯剪指甲怎么办 厕所门对厨房门怎么办 房间门对着镜子怎么办 门直对着楼梯口怎么办 厨房门对着客厅怎么办 卧室正对着马路怎么办 主卧厕所对着床怎么办 卧室门对着床头怎么办 主卧厕所门对床怎么办 老人晕车怎么办最有效方法 货车油刹不好用怎么办 7岁儿童喉咙有痰怎么办 3岁宝宝喉咙有痰怎么办 冰箱正对厨房门怎么办