我可以为 Android 编写纯 C++ 应用程序吗?(例如,使用 NDK?)
考虑到功能上没有区别,纯 Android C++ 应用程序是否比 Android Java 应用程序更快并且消耗更少的内存?仅凭我的猜测,我猜是肯定的,因为 C++ 应用程序不会进行垃圾收集,这会导致帧速率打嗝。
我可以为 Android 编写纯 C++ 应用程序吗?(例如,使用 NDK?)
考虑到功能上没有区别,纯 Android C++ 应用程序是否比 Android Java 应用程序更快并且消耗更少的内存?仅凭我的猜测,我猜是肯定的,因为 C++ 应用程序不会进行垃圾收集,这会导致帧速率打嗝。
是的,是的,尽管谷歌说:
“使用本机代码不会自动提高性能,但总是会增加应用程序的复杂性……如果您编写本机代码,您的应用程序仍会打包到 .apk 文件中,并且它们仍会在设备上的虚拟机内运行。基本的 Android 应用程序模型不会改变。”
来自http://developer.android.com/sdk/ndk/index.html
(就我个人而言,我不同意用 C++ 自动编写比 Java 更复杂的程序,我什至会说这对于熟练的 C++ 程序员来说恰恰相反)
好吧,不,你不能在安卓设备上做纯 C++。
没有理由这样做。您仍然在与您的 java 代码相同的虚拟机中运行。因此,除非您需要压缩这些微小的性能,否则您将使用 c++ 编写消耗 CPU 的过程并通过 Java 代码调用它们。
听起来您正在制作游戏,然后只需将 OpenGL ES 与 java 一起使用,然后将繁重的计算卸载到计算着色器中。