请问什么时候要是用retainLuaFunctionById(funcid)这样的操作

看到luac或luaj的时候,如果有回调函数的话 是会先retainLuaFunctionById 然后回调完成执行releaseLuaFunctionById
但是如果是直接将回调函数加到C++代码的部分, 如注册帧事件(ScriptHandlerMgr::getInstance()->addObjectHandler)这样的地方,是没有使用retainLuaFunctionById
这是指当c++部分包含了对lua函数地址的引用的时候,lua的垃圾回收就不会回收掉该对象,而跨平台如java oc部分含有对lua对象的引用,则不会影响lua的垃圾回收吗??

C++层就直接调用jni了呗,luaj是lua直接面向java啊,没明白你说的那个注册帧事件…

在callXXXStaticMethod的时候 是会去调用retainLuaFunctionById 的 与jni没什么关系

现在在处理从lua-> c+±> ManagerC++ -> c# 的调用及回调, 主要是想知道 retainLuaFunctionById 什么时候需要