Flex AIR Mobile应用性能解决方案

简介:

这个flex  mobile开发,一般原生开发也许是最合适的方式,但是涉及到跨平台的问题,有精力的团队一般都会逐个基于移动操作系统进行开发。但是如果追求短小,精悍,快速,希望能够跨平台,基于html5或者Flex开发是一个不错的选择。

Flex是个双刃剑,用的好的,做出来的效果不比原生差,做的不好的,效果、性能则不敢恭维,关于如何使用Flex开发出性能较高的应用,通过验证后得以收纳如下:

 

1、组件尽量使用为移动开发优化的Spark组件),皮肤尽量使用简洁的,一般最好通过graphic以及fxg语法来绘制,不要过多嵌入位图。

 

2、itemRenderer最好用As3的,mobile theme里面有LabelItemRenderer以及IconItemRenderer,里面需要重载的方法有createChildren,measure,drawBackground,layoutContent以及数据的setter。相比Flex ItemRenderermobileItemRendererupdateDisplayList分割成drawBackgroundLayoutContentIconItemRenderer使用flex ContentCache高速缓存下载下来的图形图像。

 

3、用styleableTextField,该类只可以在As3中使用,不能在mxml中使用,性能在mobile中比LabelRichText性能高不少。

 

4、让flex ItemRender保持矩形形状并且设置OpaqueBackground为一个单一颜色。

 

5、如果在flex ItemRenderer中绘制自己的背景,则需要将autoDrawBackgroundfalse

 

6flex ItemRenderer如果外观保持静态,可以设置cacheAsBitmaptrue

 

7flex ItemRenderer尽量少使用双向绑定。

 

8、布局定位组件,尽量使用容器组件的layout属性来达到布局目的,尽量少地嵌入容器组件,减少容器组件层次等。

 

9、优先考虑ConstraintLayout布局方式,减少动态布局。

 

10、使用GroupGraphics fxg来代替BorderContainer(SkinnableContainer)

 

11flex mobile中不要使用CreationComplete来初始化view的外观,直接覆盖datasetter方法,尽量避免使用双向绑定以及绑定表达式。

 

12、建议在ViewViewActivate中调用远程异步服务以及处理子组件的初始化等工作,避免用户体验中的”停顿“。

 

13、用IncludeInExcludeFromstate的方式隐藏或显示组件。

 

14、如果一个View来回被用户所切入,那么最好指定该ViewdestructionPolicynever,即在内存中一直保留该view的实例。

 

15、使用BitmapImage代替Image进行图像嵌入工作。

 

16、使用RectangularDropShadow代替DropShadowFilter

 

17、使用图像的多个尺寸备份,而不是使用大图+缩放或者图形圆滑技术来适应不同分辨率和dpi(解决分辨率的根本方法)

 

18、尽量使用png图形,而不是采用jpg或者gif.

 

19、对于简单图形,可以采用graphics或者rect fill等,对于复杂一点的图形建议采用Adobe Illustrator来绘制fxg矢量图形。

 

20、尽量使用css,利用mobile theme已有的皮肤,因为这些皮肤已经高度优化。

 

21、如果mobile themecss样式不足,则需要用as3来编写皮肤或者扩展已有组件的皮肤。

 

 

参考链接:

http://blog.sina.com.cn/s/blog_81d20bdd01018hf6.html

 

http://www.adobe.com/cn/devnet/flex/articles/flex-mobile-performance-checklist.html

相关文章
|
2月前
|
Web App开发 SQL 前端开发
性能工具之前端分析工Chrome Developer Tools性能标签
【2月更文挑战第22天】性能工具之前端分析工Chrome Developer Tools性能标签
36 1
性能工具之前端分析工Chrome Developer Tools性能标签
(详解)关于lib-flexible 适配pc端 移动端
(详解)关于lib-flexible 适配pc端 移动端
399 0
|
移动开发 前端开发 JavaScript
使用Flexible实现手淘H5页面的终端适配
使用Flexible实现手淘H5页面的终端适配
使用Flexible实现手淘H5页面的终端适配
|
前端开发 UED
什么是前端开发中的 mobile first 策略
在 2010 年的世界移动大会上,谷歌 CEO 埃里克施密特提出,设计师在产品设计中应该遵循“移动优先”的原则。 “移动优先设计”是什么意思? 它为什么如此重要? 如何制作? 我将在下面的部分回答这 3 个问题。
183 0
什么是前端开发中的 mobile first 策略
|
移动开发 JavaScript 前端开发
云适配:One Web, Any Device 的网站跨屏适配
云适配是一家帮助企业快速将桌面版网站适配到各种移动设备终端的屏幕上的新创公司,结合最前沿的HTML5,无需再像传统WAP 技术那样需要额外开发和维护一个移动网站,用户要做的就是添加一行代码。
507 0
云适配:One Web, Any Device 的网站跨屏适配
|
传感器 JavaScript 前端开发