【Abode Air程序开发】移动设备、桌面和浏览器应用程序开发的差异

移动设备、桌面和浏览器应用程序开发的差异

浏览器 
将应用程序部署为 SWF 文件,以用于在浏览器中运行的 Flash Player。

桌面 
为桌面计算机(例如 Windows 计算机或 Macintosh)部署独立的 Adobe AIR 应用程序。

移动设备 
为移动设备(例如手机或平板电脑)部署独立的 Adobe AIR 应用程序。

Flash Player 运行时与 Adobe AIR 运行时类似。在两个运行时中可以执行的操作大部分都相同。除了允许在浏览器外部署独立的应用程序之外,Adobe AIR 还提供了与主机平台的紧密集成。通过这种集成可以实现许多功能,例如访问设备的文件系统、创建和处理本地 SQL 数据库,等等。

在移动设备应用程序中使用 Spark 和 MX 组件的限制

在 Flex 中创建移动设备应用程序时,将使用 Spark 组件集。Spark 组件是在 spark.components.* 包中定义的。但由于性能原因,或者由于并非所有 Spark 组件都具有移动设备主题外观,移动设备应用程序并不支持整个 Spark 组件集。

除 MX 图表控件和 MX Spacer 控件外,移动设备应用程序不支持在 mx.* 包中定义的 MX 组件集。

下表列出了在移动设备应用程序中可以使用、不可以使用或需要谨慎使用的组件:

组件

组件

能否用在移动设备程序中?

说明

Spark ActionBar

Spark BusyIndicator

Spark Callout

Spark CalloutButton

Spark DateSpinner

Spark SpinnerList

Spark SpinnerListContainer

Spark TabbedViewNavigator

Spark TabbedViewNavigatorApplication

Spark ToggleSwitch

Spark View

Spark ViewMenu

Spark ViewNavigator

Spark ViewNavigatorApplication

这些新组件支持移动设备应用程序。

Spark Button

Spark CheckBox

Spark DataGroup

Spark Group/HGroup/VGroup/TileGroup

Spark Image/BitmapImage

Spark Label

Spark List

Spark RadioButton/RadioButtonGroup

Spark SkinnableContainer

Spark Scroller

Spark TextArea

Spark TextInput

这些组件大部分都具有移动设备主题外观。尽管 Label、Image 和 BitmapImage 不具有移动设备外观,但也可以使用。

某些 Spark 布局容器(例如 Group 及其子类)不具有外观。因此,可以在移动设备应用程序中使用这些组件。

其他 Spark Skinnable 组件

 

建议不要使用

除上面列出的组件外,建议不要使用其它 Skinnable Spark 组件,因为这些组件不具有适用于移动设备主题的外观。如果组件不具有移动设备主题外观,您可以为应用程序创建一个外观。

Spark DataGrid

Spark RichEditableText

Spark RichText

建议不要使用

出于性能考虑,建议不要使用这些组件。尽管这些组件可以用在移动设备应用程序中,但这样做会影响性能。

对于 DataGrid 控件,性能取决于呈示的数据量。对于 RichEditableText 和 RichText 控件,性能取决于文本量及应用程序中的控件数量。

除 Spacer 和图表以外的 MX 组件

 

移动设备应用程序不支持 MX Button、CheckBox、List、DataGrid 等 MX 组件。这些组件对应于 mx.controls.* 和 mx.containers.* 包中定义的 Flex 3 组件。

MX Spacer

 

Spacer 不使用外观,因此可以用在移动设备应用程序中。

MX 图表组件

 

是,但存在性能隐患

可以在移动设备应用程序中使用 AreaChart 和 BarChart 等 MX 图表控件。MX 图表控件位于 mx.charts.* 包中。

但这会导致移动设备无法达到最佳性能,具体取决于图表数据的规模和类型。

默认情况下,Flash Builder 的移动设备项目库路径中不包含 MX 组件。要在应用程序中使用 MX 图表组件,请在库路径中添加 mx.swc 和 charts.swc。

移动设备应用程序不支持以下 Flex 功能:

  • 不支持拖放操作

  • 不支持 ToolTip 控件

  • 不支持 RSL

移动设备应用程序在性能方面的注意事项

由于移动设备在性能方面的局限性,移动设备应用程序的某些开发环节与浏览器和桌面应用程序的开发不同。下面是一些性能方面的注意事项:

  • 以 ActionScript 编写项呈示器

    开发移动设备应用程序时,您希望使列表滚动具有尽可能高的性能。以 ActionScript 编写项呈示器可以获得最高的性能。尽管您可以使用 MXML 编写项呈示器,但这样可能会降低应用程序的性能。

    Flex 提供两个项呈示器,且已优化为适合在移动设备应用程序中使用:spark.components.LabelItemRenderer 和 spark.components.IconItemRenderer。有关这些项呈示器的更多信息,请参阅 Using a mobile item renderer with a Spark list-based control

    有关以 ActionScript 创建自定义项呈示器的更多信息,请参阅 Custom Spark item renderers。有关移动设备和桌面项呈示器之间不同点的更多信息,请参阅 Differences between mobile and desktop item renderers

  • 使用 ActionScript 和已编译的 FXG 图形或位图开发自定义外观

    Flex 4.6 附带的移动设备外观采用带有已编译 FXG 图形的 ActionScript 编写,可提供最高的性能。您可以使用 MXML 编写外观,但应用程序的性能可能会有所降低,具体取决于使用 MXML 外观的组件数量。要获得最高的性能,请以 ActionScript 编写外观并使用已编译的 FXG 图形。有关更多信息,请参阅 Spark Skinning 和 FXG and MXML graphics

  • 利用使用 StageText 的文本输入组件

    添加 TextInput 和 TextArea 之类的文本输入组件时,请使用默认值。这些控件将 StageText 用做文本输入的基础机制,这种机制会挂接到本机文本输入类。这提高了性能,并允许您使用自动纠正、自动大写、文本限制和自定义软键盘等本机功能。

    使用 StageText 也有一些缺点,如不能滚动控件所在的视图等。另外,也不能使用嵌入字体,不能对基于 StageText 的控件使用自定义大小调整。如有必要,可以使用基于 TextField 类的文本输入控件。

  • 在移动设备应用程序中谨慎使用 MX 图表组件

    可以在移动设备应用程序中使用 AreaChart 和 BarChart 等 MX 图表控件。但它们会影响性能,具体取决于图表数据的规模和类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值