博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flex AIR Mobile应用性能解决方案
阅读量:5292 次
发布时间:2019-06-14

本文共 1635 字,大约阅读时间需要 5 分钟。

这个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来编写皮肤或者扩展已有组件的皮肤。

 

 

参考链接:

 

转载于:https://www.cnblogs.com/hehe520/p/6330054.html

你可能感兴趣的文章
ubuntu下中文乱码解决方案
查看>>
ES6 随记(3.4.1)-- 函数的拓展(参数默认值,扩展运算符)
查看>>
MSSQL 分组后取每组第一条(group by order by)
查看>>
图片生成缩略图
查看>>
SpecFlow特性介绍2-Context
查看>>
单独编译kvm模块
查看>>
基于SQL调用Com组件来发送邮件
查看>>
关于Mysql select语句中拼接字符串的记录
查看>>
动态规划 例子与复杂度
查看>>
安装webpack-dev-server后,npm run dev报错
查看>>
[BZOJ4567][SCOI2016]背单词(Trie+贪心)
查看>>
15软工课后作业01—15100120
查看>>
git回退到某个版本并提交
查看>>
查看oracle数据库的连接数以及用户
查看>>
简单几行js实现tab选项切换效果
查看>>
关于更改滚动条样式
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
[转帖] Oracle 关闭自动收集统计信息
查看>>
三.野指针和free
查看>>