2023-01-19 413
问题1:
jstring jstrKey;
for(int i=1;i<=1000;++i) {
LPWSTR strKey = L"string";
jstrKey = env->NewString((jchar *)strKey, wcslen(strKey));
}
env->DeleteLocalRef(jstrKey);
问题2:
for(int i=1;i<=1000++i) {
LPWSTR strKey = L"string";
jstring jstrKey = env->NewString((jchar *)strKey, wcslen(strKey));
env->DeleteLocalRef(jstrKey);
}
我是否在两个问题中都正确使用DeletelocalRef?
尤其是在问题1中,我在循环后删除本地裁判.我认为这是正确的,并且不必在循环中调用DeletelocalRef,因为我没有创建任何新的本地参考.
因此,关于DeleteLocalRef的使用没有问题吗?
在两种情况下,您都应该在循环内拨打DeleteLocalRef(),因为每个NewString() crers a prers a pres a pres a pres a pres a repain a repain Ref.
本地参考将由本机方法返回时丢弃本地引用,但是此过程与Java垃圾收集无关.通常,我们不必担心本地参考.但是本地的参考表通常很小,因此我们必须丢弃在循环中显着创建的未使用的参考文献.
第一个循环肯定不是正确的, ,但错误性可能是 andign.这不是同一回事.
以上所述是小编给大家介绍的JNI DeleteLocalRef的澄清,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/25832.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态