android 关于 JNI 中 C++ 全局变量的问题

Question about C++ global variable in JNI on android

在 android 上的 JNI 中使用 C++ 全局变量是否可以接受?

如果是这样,我想知道它的生命周期。

当a.cpp连接到b.java并且b的实例被创建(全局变量此时初始化了吗?)并被销毁(全局变量此时被销毁了吗?)。

简而言之,C++ 端的全局变量与连接的 Java 实例共享它的生命周期?

本机对象的生命周期与托管它们的本机库的生命周期相关。 反过来,这由 Java ClassLoader 的生命周期控制 loaded the library:

In addition, native libraries can be unloaded when their corresponding class loaders are garbage collected.

在 Android 永远不会发生的应用程序中,因此您可以假设只要应用程序存在,您的本机对象就会存在。