Tencent / xLua

xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc.
Other
9.43k stars 2.46k forks source link

请问在luaenv dispose之前,怎么回收引用。 搞了一天,实在是搞不定了。 一直报 c# exception:try to dispose a LuaEnv with C# callback!, #854

Open phzzy opened 3 years ago

phzzy commented 3 years ago

LuaException: c# exception:try to dispose a LuaEnv with C# callback!,

有个问题,实在是搞不定了,就是luaenv dispose的时候,还有引用没清空的问题

这是按钮绑定click时的代码 closeBtn.onClick:AddListener(function() -- do somethine end)

在 luaenv dispose 之前,我会去 remove 掉监听,但还是一直报错 closeBtn.onClick:RemoveAllListeners() closeBtn.onClick:Invoke() utils.print_func_ref_by_csharp()

并且看打印的日志,引用确实还在 LUA: lua/Main.lua:133

请问一下,这个需要怎么来清除引用啊? 我哪里写错了吗?

1

chexiongsheng commented 3 years ago

搞不定你也可以选择一直用一个虚拟机,别释放。 这也没啥,你c#虚拟机还不是一直用一个么?