首页 > 解决方案 > 在 JNI 级别声明的全局变量(非静态)能存活多久?

问题描述

示例 - 在我的 Android 应用程序中,在 JNI 层,我声明了以下内容:

int32_t my_glob_var;

这个变量是否保证与进程一样长?因此,只要应用程序正在运行。或者有什么我不知道的警告?

标签: androidc++java-native-interface

解决方案


只要加载了 .so 文件,这个变量就会存在,所以只要进程存在并且你的类已经加载,它就会存在。如果你想让事情更持久,你需要挂钩生命周期事件并使用像 SharedPreferences 这样的显式持久性库。


推荐阅读