腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(117)
视频
沙龙
1
回答
返回在JNI中创建的对象时NewGlobalRef/
DeleteGlobalRef
、
、
然后,当Java中不再需要object时,我们需要调用JNI方法来对从Java传递的引用执行
DeleteGlobalRef
吗?或者NewGlobalRef/
DeleteGlobalRef
只需要在JNI内部、JNI方法调用之间保存对Java对象的引用,如果我们只是将创建的对象返回给Java,我们不需要执行NewGlobalRef/
DeleteGlobalRef
调用?free(buf);它在创建的NewDirectByteBuffer对象上返回NewGlobalRef调用的结果,稍后,当对象在Java中不再需要时,有一
浏览 3
提问于2015-04-27
得票数 5
回答已采纳
1
回答
如果jobject从JNI返回到JAVA,我应该执行
DeleteGlobalRef
吗?
、
、
、
(*_env)->
DeleteGlobalRef
(_env, gRefObj ); // if remove this line, it will work然后我得到了classCastException,但是如果我去掉
DeleteGlobalRef
,它工作得很好。
浏览 99
提问于2018-09-14
得票数 -1
回答已采纳
1
回答
DeleteGlobalRef
在ICS上崩溃
、
、
jobject cls, jobject globalRef) { env->
DeleteGlobalRef
(globalRef);} 在Android2.2上运行良好,但在Android4.0.3上,应用程序在
DeleteGlobalRef
调用期间崩溃。
浏览 1
提问于2012-10-09
得票数 3
回答已采纳
1
回答
JNI:让java对象成为C++类成员安全吗?
、
、
我的问题与是一致的,但关于我的具体问题没有任何细节。我不明白一件事,我没有在规范中找到,我很惊讶没有人问。考虑操作员:如何计算对从C++创建的Java对象的引用?这些对象是否可以跨本机(C++)方法调用存储,或者一旦С++方法完成执行并将控制返回给С++,它们就会被收集起来?
浏览 1
提问于2011-08-06
得票数 2
回答已采纳
1
回答
Android5.0本机DeleteGlobalReference(jobject)正在失败
、
、
、
、
void JNICALL Java_com_class_nativeOnFreeNativeBuffer(JNIEnv* jenv, jobject obj, jobject m){ jenv->
DeleteGlobalRef
顺便说一句--如果“
DeleteGlobalref
”(Jobjct)没有发生,就不会抛出异常。这里担心内存泄漏。谢谢。
浏览 2
提问于2014-11-24
得票数 2
回答已采纳
3
回答
ByteBuffer不释放内存
、
、
、
globalRef) void *buffer = env->GetDirectBufferAddress(globalRef); env->
DeleteGlobalRef
W/dalvikvm(26733): JNI:
DeleteGlobalRef
(0x462b05a0) failed to find entry (valid=1) 我现在完全糊涂了,我想我至少理解了C我对
DeleteGlobalRef
()做了什么错事
浏览 8
提问于2011-02-20
得票数 11
回答已采纳
2
回答
“过时的全局引用”是什么意思,以及如何存储jobject并在线程之间传递它们?
、
我最近开始用我的Android JNI应用程序瞄准API14级,并立即发现了描述的问题。每当jobject调用本机方法并传递需要存储以供以后使用引用时,我都会创建对jobject的新全局引用,将全局引用添加到容器中,并存储其索引。每当我需要使用jobject时,我都会按索引获取它。这种方法有什么问题?
浏览 0
提问于2013-01-31
得票数 1
回答已采纳
1
回答
无法添加到JNI本地引用表(有512个条目)
我在一个android应用程序中工作,当我试图在某些设备上运行我的应用程序时,我得到了一个错误"dalvikvm(11625):无法添加到JNI本地引用表(有512个条目)“。请帮我纠正这个错误。
浏览 2
提问于2012-07-19
得票数 2
2
回答
如何检查JNI中的内存泄漏
、
、
在我的JNI程序中,我使用deleteenv->
DeleteGlobalRef
jvm->DetachCurrentThread
浏览 0
提问于2012-02-01
得票数 4
回答已采纳
1
回答
JNI指针依赖关系的设计模式
、
、
我正在使用JNI为一些C代码创建Java包装器。C端有如下所示的依赖项:b = make_b(a);如何在JNI内部创建两个类之间的依赖关系?在使用B类时,我需要类A不要被GC控制,我需要在JNI内部创建这个依赖项。
浏览 0
提问于2011-03-19
得票数 2
回答已采纳
1
回答
关于在JNI中分配的数组
、
、
、
我在Android JNI中写了一个分配Java数组的函数。但是,如果从Java连续调用此函数,将出现error*Fatal信号11 (SIGSEGV)。static jbyteArray buffer = NULL;jbyteArray Java_com_sample_buffer_Buffer_updateBuffer(JNIEnv* env, jobject thiz, jlong handle, jint buflen) if(buflen > cbuflen){ if(buffer != N
浏览 1
提问于2012-11-02
得票数 3
回答已采纳
1
回答
删除JNI中的全局引用
我不知道这意味着什么: JNIEnv *env = getJNIEnv(); env->
DeleteGlobalRef
(mJavaOptimizer
浏览 4
提问于2013-07-25
得票数 0
回答已采纳
1
回答
Android - JNI -通过JNI恢复MyException成员
、
在我的Java代码中,我使用getCustomCode()方法创建了MyException类(扩展异常类)。为此,我使用下面的代码执行抛出MyException的Java方法:在这一行之后,我使用下面的代码检查JavaException: jthrowable exc = env->ExceptionOccurred(
浏览 0
提问于2011-08-11
得票数 1
1
回答
JNI:如何从字节数组加载类?
、
、
如何从JNI中JAR文件的字节数组加载所有类?#include <jni.h>using namespace std; JavaVM* jvm; long res = CreateJVM(&jvm, &env, ""); jobject system
浏览 11
提问于2022-04-08
得票数 0
回答已采纳
2
回答
clsStr变量"clsStr = (*env)->NewGlobalRef(env,cls)“是全局的吗?
、
、
、
JNI中的全局引用据说是程序员必须手动释放的引用。它与c上下文无关。所以这样的代码: jclass clsStr = (*env)->NewGlobalRef(env,cls); 将产生一个错误,说明clsStr是未定义/未声明的。我明白这一点。但我不明白的是,使用了这类引用的。
浏览 3
提问于2012-05-15
得票数 1
回答已采纳
1
回答
安卓的CheckJNI:如何关闭它/打开(在模拟器上)?文件似乎有问题
、
、
在冰淇淋三明治仿真器上的CheckJNI警告(不管我的AndroidManifest.xml文件中的值是什么)将导致应用程序与受人尊敬的警告崩溃--而它们只会被打印在姜饼模拟器中(我已经测试了一个在本地引用中使用的
DeleteGlobalRef
printed only when targetSdkVersion=10)01-19 08:37:56.176: W/dalvikvm(651): JNI WARNING:
DeleteGlobalRef
): CheckJNI is ON 没有重
浏览 1
提问于2012-01-18
得票数 7
回答已采纳
3
回答
我必须在DeleteLocalRef上调用NewGlobalRef对象吗?
、
longTermBufferReference = (jbyteArray)env->NewGlobalRef(buffer); 当本机代码创建一个字节数组时,它会跨多个线程/调用重新使用它,一旦我们完成了它,我就在缓冲区上调用
DeleteGlobalRef
浏览 6
提问于2015-06-09
得票数 2
回答已采纳
2
回答
JNI:将一个对象从Java返回到C++,并将其传回给Java
、
、
、
我有一些Java方法需要通过JNI从C++调用。我的JNI实现是基于 public class MyObject { private static LocalDateTime time; // getters, setters and toString public static MyObj
浏览 4
提问于2014-10-09
得票数 4
回答已采纳
1
回答
从不同的线程通过JNI调用保存的java对象
、
、
、
、
我有一个java对象,它通过JNI调用一个C++共享对象。在C++中,我保存了对JNIEnv和jObject的引用。JNIEnv * myEnv; (JNIEnv *env, jobject jObj) { myobj = jObj;我还有一个GLSurface呈现器,它最终在另一个线程GLThread上调用了上面提到的C++共享对象。然后,我尝试使用我最初保存的jobject调用我的原始Java对
浏览 3
提问于2012-12-20
得票数 23
回答已采纳
1
回答
JNI(Java)相当于INCREF,DECREF在python embed for C++中使用?
、
、
、
在python embed for C++中使用的INCREF和DECREF的JNI(Java)等价物是什么?
浏览 2
提问于2012-01-19
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
深入理解JVM垃圾回收机制 - GC Roots枚举
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券