TonyMa

Results 1 comments of TonyMa

首先先网上找一些debug xlua引用的参考,把Lua和c#堆栈都存一下,看看释放的时候是哪些堆栈注册的;如果确实引用都释放了,c#层都置空了,有可能是gc的机制问题,我们项目遇到一个问题,在mono模式下一切正常,但是在IL2CPP模式下,c#gc一次后还有c#对象没被释放,在LuaEnv.cs的Dispose()里把gc多加一次就好了。 FullGc(); System.GC.Collect(); System.GC.WaitForPendingFinalizers(); //在IL2CPP模式下,需要多调用一次gc才能真正回收所有对象 System.GC.Collect(); System.GC.WaitForPendingFinalizers(); Dispose(true); System.GC.Collect(); System.GC.WaitForPendingFinalizers();