有人知道Adobe AIR应用程序是如何转换为iPhone应用程序的吗?我看到了两种方法--要么Adobe AIR虚拟机必须成为每个应用程序的一部分,要么它们必须以某种方式将所有ActionScript调用转换为Cocoa Touch调用,或者为每个ActionScript类创建一个Objective-C孪生类,然后将其编译成ARM汇编程序。
我只是好奇它是如何在技术上做到的。
BR STeN
发布于 2012-03-28 15:58:37
与其他平台不同,Adobe Air在构建iOS应用程序时会编译为本机代码。
以下是来自Adobe的blog post的一部分:
我们创建了一个新的编译器前端,允许LLVM理解ActionScript 3,并使用其现有的ARM后端来输出本机ARM汇编代码。我们称之为提前(AOT)编译--与桌面上Adobe Flash Player和Adobe AIR使用Just in Time ()编译的方式不同。由于我们能够提前将ActionScript编译为ARM,因此该应用程序获得了JIT提供的所有性能优势和的许可证遵从性,而不需要在最终应用程序中运行时。
这意味着:
未打包在application.
发布于 2013-02-15 06:11:04
取自adobe网站:http://www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.edu.html
请注意,当使用AIR作为目标iOS时,强制运行时是唯一可用的选项。由于iOS不支持共享运行时模型,因此强制模型仍然是该平台上的唯一选择。
任何使用强制运行时的人都应该意识到它有两个缺点:
增加了应用程序大小。由于运行时的整个副本都包含在您的应用程序中,因此应用程序包的大小必然会增加。
增加了安全负担。
https://stackoverflow.com/questions/9902840
复制相似问题