【发布时间】:2013-03-08 10:23:29
【问题描述】:
因为 Adobe Air ANE 使开发人员能够编写本机代码来控制几乎所有内容。所以我想知道 ANE 代码是否可能会影响或与 Adobe Air 原生功能发生冲突。 比如我通过actionscript3调音量。同时,我也通过 ANE 调节音量。是否可能导致错误或冲突?
【问题讨论】:
标签: actionscript-3 flash air adobe
因为 Adobe Air ANE 使开发人员能够编写本机代码来控制几乎所有内容。所以我想知道 ANE 代码是否可能会影响或与 Adobe Air 原生功能发生冲突。 比如我通过actionscript3调音量。同时,我也通过 ANE 调节音量。是否可能导致错误或冲突?
【问题讨论】:
标签: actionscript-3 flash air adobe
AS3 是单线程且完全线性的。两件事不能同时发生,即使使用 ANE(除非您使用 ANE 来利用第二个线程,显然)。基本上,使用 ANE,您可以调用 SWC/AS3 库中的方法,该库调用本机代码中的方法。本机代码运行,然后返回 SWC/AS3 库,然后返回原始代码。
所以...
as3 -> start changeVolume()
as3 library -> start changeVolume()
native code -> changeVolume()
as3 library -> finish changeVolume()
as3 -> finish changeVolum()
as3 -> next set of instructions run
编辑: 我应该提到,这不再完全正确。您可以使用允许您利用其他线程的工作人员。但是,ANE 最可能的情况是在移动设备上工作,而工作人员目前不使用移动设备工作。
【讨论】:
据我所知,ANE 就像 AS3 代码中的库一样工作。它就像一个链接的 SWC。因此,您只需将 ANE 视为 SWC 作为 AS3 库代码的一部分,而不必担心冲突。
【讨论】: