使用cocos2dx 的JniHelper 调用记得销毁classID

2 篇文章 0 订阅
1 篇文章 0 订阅
在写的项目中,使用JniHelper来进行c++和java之间的互相调用,结果在使用安卓上的取系统时间函数
SystemClock.uptimeMillis()

然后回传给C++,发现程序在运行7,8秒时就crash了,查看logcat,

发现是JNI的local reference table用完了,接着上网查询了一下,

发现只要是jclass类型的元素都需要在使用完后调用DeleteLocalRef,而JniMethodInfo中的classID也属于jclass类型,故同样需要删除。

难怪程序会在数秒后crash,取系统时间的函数我每帧都会调用,

每次都会leak一个classID,所以很快JNI中table就不够用啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值