java - Android Native Activity 和图形环境

标签 java android c++ android-activity android-ndk

我正在尝试更深入地了解 android 内部结构,我知道如何使用 NDK,甚至可能知道它是如何工作的,但我对 Native Activity 和 NDK 提供的其他 native 部分有疑问。
据我所知,Android 桌面环境(图形环境)是用 Java 编写和运行的。这是Android Framework的一部分(众所周知的图表上的蓝色)。
如果是这样,当我们从 Android 应用程序运行 C/C++ 代码时,我们是在 Linux 级别上运行它,在 Java、Dalvik 和所有高级东西之后。
我的问题是我们如何拥有 NativeActivity,创建它(使用 opengl 绘制)是一回事,但它在 android 系统架构中的位置是否仍在 dalvik 进程实例中以某种方式运行。
我主要感兴趣的是如何与简单 (java) Activity 进行通信。
请帮助理解,也许有人可以提供一种图表来更好地理解这一点。
提前致谢。

最佳答案

当从 Android 应用程序运行 C/C++ 代码时,您并不是在“在 java、dalvik 和所有高级东西的后面”运行它。它由 Android 运行时或 Dalvik 执行。

native Activity 使用 JNI(Java native 接口(interface))对 Android 框架进行 java 调用,以创建其 Activity 。

关于java - Android Native Activity 和图形环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31158120/

相关文章:

java - 如何获取DataInputStream中的数据量? - java

android - 文件 :///storage/emulated/0 path on android device

android - MediaRecorder 准备失败,setVideoSize 1080p

c++ - 用于发送电子邮件的命令行 C++ 程序

c++ - 使用 nullptr 和零大小进行分配

java - Spring/Grails - 使用新属性重新加载 bean

java - Java 包是嵌套的还是非嵌套的……两者都是?

java - 如何在 Cognos - SDK 中创建包?

Android - 查找当前是否正在播放音频并停止播放

c++ - 将 qsort 与比较器功能一起使用