Adobe AIR 和 iPhone - 工作原理如何?

2024-01-08

有人知道 Adob​​e AIR 应用程序如何转换为 iPhone 应用程序吗?我看到两种方法 - 要么 Adob​​e AIR 虚拟机必须成为每个应用程序的一部分,要么必须以某种方式将所有 ActionScript 调用转换为 Cocoa Touch 调用,或者为每个 ActionScript 类都有一个 Objective-C 双胞胎,然后将其编译为 ARM 汇编器。

我只是好奇它在技术上是如何实现的。

BR STeN


与其他平台不同,当您构建 iOS 应用程序时,Adobe Air 会编译为本机代码。

这是一个博客文章 http://www.adobe.com/devnet/logged_in/abansod_iphone.html来自 Adob​​e:

我们创建了一个新的编译器前端,使 LLVM 能够理解 ActionScript 3,并使用其现有的 ARM 后端来输出原生ARM汇编代码。我们称之为提前 (AOT) 编译 — 与 Adob​​e Flash Player 和 Adob​​e AIR 使用即时 (JIT) 编译在桌面上运行的方式形成对比。由于我们能够提前将 ActionScript 编译为 ARM,因此应用程序可以获得 JIT 提供的所有性能优势以及许可证合规性在最终应用程序中不需要运行时.

这意味着:

  1. Air 运行时未打包在应用程序中。

  2. AS3代码不转换为Objective-C代码,而是直接编译为本机汇编代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Adobe AIR 和 iPhone - 工作原理如何? 的相关文章

随机推荐

  • Python 与 Ruby 进行元编程 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在导入模块期间访问 PrivateData

    我想加载 config xml 文件的内容并将其存储在 PrivateData当我的模块加载时 这是我的 PSD1 中的定义行 Private data to pass to the module specified in ModuleTo
  • 使用 WPF shell 集成库最大化时窗口超出屏幕

    我正在使用WPF Shell 集成库 http code msdn microsoft com WPFShell创建我的 wpf 应用程序的自定义 chrome 一切都很好 但是当最大化应用程序时 屏幕外会出现 6 或 7 个像素 这是我正
  • 是否有 link.exe 的替代链接器?

    我正在开发一个代理 DLL 并希望导出其中包含 字符的符号 然而 这个字符似乎对 link exe 有特殊含义 我猜实际上是对 lib exe 给定一个 C 文件 extern C void f I can创建一个导出的 DLLf as f
  • 复杂表达式中的后缀增量运算符究竟何时计算?

    说我有这样的表情 short v p i 0xFF lt lt 4 p i 0xF0000000 gt gt 28 with p是一个指向动态分配的 32 位整数数组的指针 When exactly will i会增加吗 我注意到上面的代码
  • 克隆 JavaScript 事件对象

    有人知道如何对本机 javascript 事件对象进行深度复制 克隆吗 我知道我可以创建一个新的事件对象并手动设置适当的属性以匹配原始事件 但如果有一种方法可以克隆 那就容易多了 上面的代码不会正确复制任何 getter setter 尝试
  • 如何在c中模拟闭包

    有简单的方法吗 这是一个相当广泛的问题 从根本上讲 闭包是一个指令指针以及一些以正确方式执行指令所需的存储上下文 您当然可以在 C 中使用结构体和函数指针将类似的东西组合在一起 假设您表达一个接受两个 int 并返回 void 作为结构的闭
  • 未找到“默认”的 Docker 端点

    我确实克隆了一个项目 并且在第一步中 当我尝试启动容器时 我在项目根目录中运行了 windows CMD 然后输入以下命令 docker compose up build 并向我显示此消息 找不到 默认 的 docker 端点 如果有人帮助
  • 使用 df.to_csv() 的编码错误

    我正在尝试将 Twits 中的信息 屏幕名称 创建位置和文本 保存到 pandas DataFrame 中 然后将 DataFrame 保存为 csv 文件 我收到编码错误 import tweepy from tweepy import
  • pandas 数据帧上的矢量化查找

    我有两个 DataFrame df1是一个表 我需要使用从 df2 中的多个列检索的索引 列对来提取值 我看到有一个函数get value当给定索引和列值时 它可以完美地工作 但是当尝试向量化此函数以创建新列时 我失败了 df1 pd Da
  • 如何将我的 Android 应用程序 Google 地图半径圆替换为如图所示的蓝色半透明圆?

    如何将我的 Android 应用程序 Google 地图半径圆替换为蓝色半透明圆 如图所示 还有带有蓝色圆的蓝色标记 我可以使圆圈具有特定的轮廓并填充 但它看起来并不像下图所示的那么好 我怎么做 到目前为止我的代码也在下面 Code pri
  • VS 2012 发布:找不到有效的 AspnetMergePath

    我刚刚安装了 Visual Studio 2012 的 Update 2 它引入了一个新的 发布 对话框 我试图让它做以前做的事情 在发布之前预编译网站 但我遇到了错误 Can t find the valid AspnetMergePat
  • Android M startActivity电池优化

    我正在开发一个应用程序 如果用户靠近某个地方 它应该提醒用户 当然 如果手机处于空闲状态 也必须这样做 现在有了 DOZE 我明白我必须将我的应用程序列入白名单 并且为了做到这一点 我看到我可以通过操作请求启动一个意图 这要归功于 Budd
  • 在 Selenium 中为 Chrome 驱动程序设置代理

    我正在使用 Selenium Webdriver 在 Chrome 浏览器中使用 C 进行自动化 我需要检查我的网页是否在某些地区 某些 IP 范围 被阻止 所以我必须在 Chrome 浏览器中设置代理 我尝试了下面的代码 正在设置代理 但
  • iOS UIActionSheet 从按钮上的长按手势呈现,错误地需要双击按钮才能关闭

    我有一个选项卡栏应用程序 在其中一个选项卡中我有一个 MKMapView 在此视图中 我的 viewDidLoad 正在初始化 UIButton 的长按手势识别器 当按下此按钮并帮助时 它会显示一个包含 5 个按钮 取消按钮的 UIActi
  • ReactJS 中使用箭头函数或 onClick 函数有什么区别?

    我在 ReactJS 中构建了一个简单的计数器应用程序 代码如下 import React useState from react import styles css export default function App const co
  • jQuery - 如何测试选择器是否匹配任何内容?

    假设我有以下内容 foo 我想知道该选择器是否匹配任何内容 我该如何测试这个 if foo length gt 0 do things 应该这样做
  • jQuery mobile - 对于每个实时点击事件都应该有一个等效的点击事件吗?

    我已将 jQuery 实时点击事件替换为 jQuery 移动点击事件以提高响应能力 出于兼容性原因 我感觉这是一个坏主意 是否有必要同时拥有这两个事件 有没有办法为同一个函数编写这两个事件 如 点击 点击 比利的答案非常完整 而且在我使用它
  • 为什么我的渐进式移动网络应用程序的初始屏幕和渲染内容之间存在白屏,有没有办法删除它?

    我已将移动网络应用程序安装到 Android 手机的主屏幕上 当我启动应用程序时 将显示初始屏幕 其中包含我的应用程序中定义的应用程序图标 名称和背景颜色 manifest json文件 启动画面消失后 白屏短暂闪烁 然后显示预期的 htm
  • Adobe AIR 和 iPhone - 工作原理如何?

    有人知道 Adob e AIR 应用程序如何转换为 iPhone 应用程序吗 我看到两种方法 要么 Adob e AIR 虚拟机必须成为每个应用程序的一部分 要么必须以某种方式将所有 ActionScript 调用转换为 Cocoa Tou