Android JNI 本地引用表,转储当前状态

标签 android c++ java-native-interface

任何 Android JNI 开发人员都应该熟悉 logcat 中的这条美妙消息。我的问题是:如何告诉 VM 转储当前表状态?我需要它来进行调试,以确保退出时的 native 线程没有未完成的本地引用。

最佳答案

完全归功于 Pavel,但我认为其他人可能会喜欢示例代码:

jclass vm_class = env->FindClass("dalvik/system/VMDebug");
jmethodID dump_mid = env->GetStaticMethodID( vm_class, "dumpReferenceTables", "()V" );
env->CallStaticVoidMethod( vm_class, dump_mid );

关于Android JNI 本地引用表,转储当前状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13283649/

相关文章:

java - Android Canvas 动画出现卡顿(不流畅)

c++ - xerces-c 2.8 : error while loading shared libraries

java - 在生成的接口(interface)中公开空指针

C++ Curl 后动态变量

c++ - C/C++ 控制结构限制?

class - 嵌套类的JNI签名?

java - 如何使用 Java 和 JNI 修改传递给 C++ 例程的原始数据的值?

android - Cordova 构建会删除所有应用程序文件

java - 为 Java 1.8 启用 jackOptions 时 Gradle 构建挂起

android - 在某些 Android 版本中,当弹出窗口不可聚焦时,PopupWindow 中的 ListView 不会接收到触摸事件?