【发布时间】:2010-11-07 06:06:17
【问题描述】:
我需要一些在大型 long[] 上执行的操作非常快。我能看到的唯一选择是使用 Android NDK。谁能总结一下使用 NDK 对我的应用的影响,包括哪些设备可以使用该应用以及对维护我的应用有什么影响?
我看到您需要指定要为其编译 C 代码的架构,例如 ARM 和 Intel。当 Android 的新架构出现时会发生什么?每次出现新架构时我都必须更新我的应用吗?
【问题讨论】:
-
是的,每个架构都需要一个可执行文件。您可能只需将它们全部包含并加载您需要的那些,但我从未使用过 NDK。你到底在做什么?您确定这是您代码中的瓶颈吗?您是否已实现并对其进行了概要分析?
-
长操作包括屏蔽前 8 位,执行一些加法和乘法,将这些位放回原处,然后对剩余的位执行此操作。它在 Java 中非常缓慢(例如,当我想要大约 0.1 秒时执行 1 秒)并且似乎是 NDK 的理想候选者。虽然代码很简单,但适用于所有拱门。
标签: java android android-ndk