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

相关文章
|
5月前
|
开发者 容器
flex 布局属性在实际项目中的应用场景有哪些?
flex 布局属性在实际项目中的应用场景有哪些?
|
4月前
|
前端开发 UED 容器
使用 Flex 布局实现垂直居中效果
【10月更文挑战第7天】
504 57
|
3月前
|
容器
Bootstrap5 Flex(弹性)布局4
排序:.order 类可设置弹性子元素的排序,范围从 .order-1 至 .order-12,数字越小优先级越高。外边距:.ms-auto 和 .me-auto 分别用于设置子元素的右侧和左侧外边距为 auto。包裹:.flex-nowrap(默认)、.flex-wrap 和 .flex-wrap-reverse 用于控制弹性容器中的子元素是否换行及换行方向。
|
2月前
|
容器
Bootstrap5 Flex(弹性)布局6
使用 `.align-self-*` 类可控制指定子元素的对齐方式,包括 `.align-self-start`, `.align-self-end`, `.align-self-center`, `.align-self-baseline`, 和 `.align-self-stretch`。示例代码展示了如何在一个弹性布局中应用这些类,以实现不同设备上的响应式设计。
Bootstrap5 Flex(弹性)布局5
使用 .align-content-* 控制多行子元素在垂直方向上的堆叠方式,如 .align-content-start、.align-content-center 等。对于单行子元素,使用 .align-items-* 控制对齐,例如 .align-items-start、.align-items-center 等。示例代码展示了不同对齐效果的应用。
Bootstrap5 Flex(弹性)布局2
介绍Flex布局的水平和垂直方向控制。`.flex-row`使子元素水平排列,默认左对齐;`.flex-row-reverse`则右对齐。`.flex-column`让子元素垂直排列;`.flex-column-reverse`则反向排列。示例展示了不同类的效果,通过改变类名实现布局调整。
Bootstrap5 Flex(弹性)布局3
`.justify-content-*` 类用于调整弹性子元素的对齐方式,支持 start、end、center、between、around 等值。`.flex-fill` 类使所有子元素等宽,而 `.flex-grow-1` 则让指定子元素占据剩余空间。这些类在布局设计中非常实用。
|
3月前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。