我正在使用 powervr sdk 在使用 vuforia 引擎创建的相机视图顶部绘制 3d 模型。
整个 powervr 代码是完全原生的,由 android_app_glue 调用。要开始渲染,调用 android_main(struct android_app* state)。我想自己从我的一个本机函数中调用这个函数,而不是让它在某个 NativeActivity 的 onCreate 中被调用。
我正在使用 powervr sdk 在使用 vuforia 引擎创建的相机视图顶部绘制 3d 模型。
整个 powervr 代码是完全原生的,由 android_app_glue 调用。要开始渲染,调用 android_main(struct android_app* state)。我想自己从我的一个本机函数中调用这个函数,而不是让它在某个 NativeActivity 的 onCreate 中被调用。
Android Activity 生命周期是在 Java 中完成的,并且android_main
(与main
Linux/OS X/Windows 不同)不是由操作系统调用,而是由 Native App Glue 调用,它由android.app.NativeActivity
Java 和android_native_app_glue.c
主库组成,并代理事件到本机库中的单独线程。
提供胶水只是为了方便,您可以完全不使用胶水并自行重新实现功能,或者您可以修改/扩展胶水。
因此,如果您想使用胶水,您可以android_main
从 中删除调用android_native_app_glue.c
,但在您自己调用 之前,请确保胶水已正确初始化android_main
。