技术问答

问题描述 我在项目中使用JNI代码,abiFilters如下 apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "com.example.intel.hellojni" minSdkVersion 15 targetS

2023-01-19  433
技术问答

问题描述 我正在使用tomcat,停止我的Web应用程序后,仍然有对ClassLoader的引用我的Web应用程序的实例. 结果是,将不会释放出显着的内存(主要与静态数据有关).迟早会导致OutOfMemoryError. 我服用了heap dump,我意识到它是由 jni全球参考 classloader将为 ” noreferrer”>垃圾 我的应用程序不使用JNI .我也不使用 apach

2023-01-19  363
技术问答

问题描述 我有一种本机方法,可以在位图上进行一些工作.在方法内部,我通过方法调用将数据写入我使用NewIntArray>>>>>: 的参数来获取图像数据. jintArray pixels = env->NewIntArray(width * height); 我不需要将此数组返回到调用Java代码 – 仅在此方法中进行处理.我需要在pixels上打电话ReleaseIntArra

2023-01-19  360
技术问答

问题描述 我以为这个问题以前曾被问到,但我在这里找不到它… 我已经使用SWIG在C ++类周围创建JNI包装器.一切都很好,除了Java似乎从来没有称呼该类的最终确定(),因此,我班级的驱动器从未被打来.该类的destructor执行了一些最终文件I/O,因此不幸的是,这不仅仅是次要内存泄漏. 通过Google进行搜索,似乎没有一种方法可以强迫Java进入GC并销毁对象.是吗? 我知道我可以操纵我的swig文件并创建一

2023-01-19  359
技术问答

问题描述 我知道我可以简单地从start迭代到end并清除那些单元,但我想知道它是否可以更快地使用(也许使用jni-ed System.arrayCopy)? 推荐答案 如果我正确地完成了,则需要将数组取消,或一个包含对象引用的数组的子端,以使它们符合GC的资格.并且您有一个常规的Java数组,该数组将数据存储在Heap中. 回答您的问题,System.arrayCopy是将阵列取消阵列的最快方法.不过,它的内存比Arrays.fi

2023-01-19  388
技术问答

问题描述 在Android中,有两个类LocalserVersocket和Localsocket.我认为它们像Unix插座中的AF_LOCAL(我不确定是否正确). 我的问题是: 是否可以在Java中创建LocalServerSocket,并使用普通的Unix套接字客户端在本机或其他过程中连接到它? 如果可能的话,我应该在本机中设置什么” sockaddr_un.sun_path”? 我已经编写了一个示例项目

2023-01-19  430
技术问答

问题描述 我试图使用Android NDK将OPENSL库嵌入我的Android应用程序中,但我不知道如何准确使用该库,因此请任何人告诉我如何使用该库………. 相关: 如何在Android/linux上构建OpenSSL? 推荐答案 您是否尝试过,它是Android中包含的OpenSSL的独立构建: https://github.com/fries/fries/android-exter

2023-01-19  485
技术问答

问题描述 我正在尝试将C ++ STD ::字符串变成JSTRING并将其返回.对于 ,这将非常容易 JNIEnv*->NewStringUTF(stdString.c_str()) ,但问题是我要转换的字符串几乎随机散布在其中.这是c_str()的问题,但不是std::string. NewStringUTF只会捕获完整std::string的一部分.有一些希望,因为std::string具有length()函数,它具有完整

2023-01-19  342
技术问答

问题描述 我认为是的,但是我发现所有的前12个示例都做了不说明的事情,例如 JNIEXPORT jstring JCALL Java_com_foo_dumbImpl(JNIEnv* env, jobject thisObj) { return (*env)->NewStringUTF(env, "constant string"); } 所以对于后代,我会问:这是不好的,是? JNIEXPORT jstring JCA

2023-01-19  418
技术问答

问题描述 我有一个用于java函数的JNI包装器,这些包装器是从C中调用的…我试图从不同线程调用一些方法,并且在尝试获得JNienv指针的新副本时会遇到错误…我使用的代码在下面,在每种方法中都调用: JNIEnv* GetJniEnvHandle(){ ThreadInfo(); JNIEnv *envLoc; //if(Thread::CurrentThre

2023-01-19  346

zblog模板

牛资源