Android JNI C ++代码始终为2个不同的SurfaceView对象获取“相同”的jobject值

加里

在Android JAVA代码中:

public native int addRenderer(int channel, Object glSurface);

Context context = getApplicationContext();
SurfaceView svRemotePartyA = new SurfaceView(context);
SurfaceView svRemotePartyB = new SurfaceView(context);

addRenderer(0, svRemotePartyA);
addRenderer(1, svRemotePartyB);

在Android JNI C ++代码中:

extern "C" jint JNIEXPORT JNICALL Java_addRenderer(
    JNIEnv* jni, 
    jobject j_vie, 
    jint channel,
    jobject surface) {

    LOG(LS_INFO) << "Java_addRenderer(): surface=" << surface;
    // some processing
}

运行程序时,我总是阅读以下日志!两个SurfaceView对象在JNI C ++代码日志输出中具有相同的值:

(render_manager.cc:175): Java_addRenderer(): surface==0xbeed6120
(render_manager.cc:175): Java_addRenderer(): surface==0xbeed6120

有什么问题?

亚历克斯·科恩

您查看的是本地引用,切勿在同一JNI方法的上下文之外使用它。如果您获得此工作项目的全球参考,您将获得2个不同的参考。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过jni将相同的Android Surfaceview传递给C ++代码会产生不同的值

来自分类Dev

通过jni将相同的Android Surfaceview传递给C ++代码会产生不同的值

来自分类Dev

从JNI / C ++获取Android蓝牙适配器名称

来自分类Dev

Android JNI:获取父类

来自分类Dev

本机/ C ++ / Java Android NDK / JNI-在活动之间共享本机代码(MSDN hello-jni示例修改)

来自分类Dev

C JNI库使整个android应用崩溃

来自分类Dev

JNI访问的代码中的纯C ++对象

来自分类Dev

在Android Studio中为本地方法实现JNI生成C头文件(* .h)

来自分类Dev

C ++ / JNI大括号括起来的初始值设定项映射(Android NDK)

来自分类Dev

JNI本机代码中的分段错误(Android)

来自分类Dev

ReferenceTable溢出(JNI Android),数组对象发布

来自分类Dev

从android jni返回的int是错误的值

来自分类Dev

无法使用JNI在Android Lollipop中从C ++到Java进行JNI调用

来自分类Dev

如何从JNI Native C ++获取原始文件

来自分类Dev

如何从C ++ JNI获取Java枚举?

来自分类Dev

来自C ++的JNI CallIntMethod返回错误的值

来自分类Dev

Android JNI找不到C ++标准库头文件

来自分类Dev

如何在Eclipse中重建Android JNI C文件

来自分类Dev

在Android-JNI下是否必须使用“ extern” C?

来自分类Dev

JNI C代码中的fopen对于放置在android应用程序中Assets文件夹中的文件失败

来自分类Dev

如何通过JNI / NDK获取Android应用中使用的C ++库的日志行的控制台输出(printf,cout等)

来自分类Dev

Android JNI异常处理

来自分类Dev

Android中的Jni层

来自分类Dev

超级Android JNI:了解“ JNI(jintArray ...”)格式

来自分类Dev

如何使用JNI代码正确导入Android库?

来自分类Dev

无法使用JNI代码编译android项目(找不到算法)

来自分类Dev

在Android中遮盖最终用户的JNI代码

来自分类Dev

如何使用JNI代码正确导入Android库?

来自分类Dev

在Android中遮盖最终用户的JNI代码

Related 相关文章

  1. 1

    通过jni将相同的Android Surfaceview传递给C ++代码会产生不同的值

  2. 2

    通过jni将相同的Android Surfaceview传递给C ++代码会产生不同的值

  3. 3

    从JNI / C ++获取Android蓝牙适配器名称

  4. 4

    Android JNI:获取父类

  5. 5

    本机/ C ++ / Java Android NDK / JNI-在活动之间共享本机代码(MSDN hello-jni示例修改)

  6. 6

    C JNI库使整个android应用崩溃

  7. 7

    JNI访问的代码中的纯C ++对象

  8. 8

    在Android Studio中为本地方法实现JNI生成C头文件(* .h)

  9. 9

    C ++ / JNI大括号括起来的初始值设定项映射(Android NDK)

  10. 10

    JNI本机代码中的分段错误(Android)

  11. 11

    ReferenceTable溢出(JNI Android),数组对象发布

  12. 12

    从android jni返回的int是错误的值

  13. 13

    无法使用JNI在Android Lollipop中从C ++到Java进行JNI调用

  14. 14

    如何从JNI Native C ++获取原始文件

  15. 15

    如何从C ++ JNI获取Java枚举?

  16. 16

    来自C ++的JNI CallIntMethod返回错误的值

  17. 17

    Android JNI找不到C ++标准库头文件

  18. 18

    如何在Eclipse中重建Android JNI C文件

  19. 19

    在Android-JNI下是否必须使用“ extern” C?

  20. 20

    JNI C代码中的fopen对于放置在android应用程序中Assets文件夹中的文件失败

  21. 21

    如何通过JNI / NDK获取Android应用中使用的C ++库的日志行的控制台输出(printf,cout等)

  22. 22

    Android JNI异常处理

  23. 23

    Android中的Jni层

  24. 24

    超级Android JNI:了解“ JNI(jintArray ...”)格式

  25. 25

    如何使用JNI代码正确导入Android库?

  26. 26

    无法使用JNI代码编译android项目(找不到算法)

  27. 27

    在Android中遮盖最终用户的JNI代码

  28. 28

    如何使用JNI代码正确导入Android库?

  29. 29

    在Android中遮盖最终用户的JNI代码

热门标签

归档