手动调用android_main(struct android_app * state)?

时间:2014-02-11 10:43:53

标签: android android-ndk java-native-interface vuforia powervr-sgx

我正在使用powervr sdk在我使用vuforia引擎创建的摄像机视图上绘制3D模型。

整个powervr代码完全是原生的,并由android_app_glue调用。要开始渲染,调用android_main(struct android_app * state)。我想从我的一个本机函数中调用此函数,而不是将它调用onCreate of someActiveActivity。

1 个答案:

答案 0 :(得分:1)

Android活动生命周期在Java中完成,而操作系统不调用android_main(与Linux / OS X / Windows上的main不同),而是由Native App Glue调用,它由Java中的android.app.NativeActivity和主库中的android_native_app_glue.c组成,并将事件代理到本机库中的单独线程。

胶水仅为方便起见而提供,您可以自由使用胶水并自行重新实现功能,或者您可以修改/延长胶水。

因此,如果您想使用胶水,可以从android_main删除android_native_app_glue.c来电,但请确保胶水已正确初始化,然后再拨打android_main