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

标签 android c++ java-native-interface

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

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

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

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

最佳答案

native 对象的生命周期与托管它们的 native 库的生命周期相关。 这又由 Java 类加载器的生命周期控制,loaded the library :

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

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

关于android - 关于android上JNI中C++全局变量的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69550242/

相关文章:

c++ - 在 native Windows 应用程序的资源中嵌入文本文件

android - 将巨大的字符串从 native 传递到 java - 内存不足错误

java - -Djava.library.path 问题

java - 是否可以一起使用 Java、SWIG 和 Rust?

java - 在android中执行方法之前获取计数

java - 从 Eclipse 中的 Android 或/和 Java 项目中删除未使用的类

android - 在 Android Studio 中引用 @dimen 资源文件时无法呈现 XML 属性

android - Admob 与 pygame 在 android 中的集成

c++ - 展开角度为 360

c++ - 调用 GetWindowRect 时出现编译器错误