lua - 运行垃圾收集器

标签 lua

我有许多 Lua 脚本与 Objective C 代码一起在 mac Mac OS 应用程序中运行。我的应用程序的内存占用量随着时间的推移不断增加。因此,我决定从我的 Lua 脚本中定期调用 collectgarbage 函数。因为我是 Lua 新手,所以我不确定是否应该在每个脚本中调用它,或者从任何脚本调用它都可以,即它是否从所有打开的 Lua 状态或仅从与当前关联的状态收集垃圾。 Lua 文件?

最佳答案

内存,就像 Lua 中的所有东西一样,是每个 Lua 的状态。不同的 Lua 状态完全是独立的,并且在一个 Lua 状态中所做的任何事情都没有(直接)方式影响另一个 Lua 状态的内容。

而且,Lua 并不真正知道什么是“脚本”。或者一个文件。这只是解释器当前正在执行的代码。它当然不会在每个“脚本”的基础上跟踪内存。

collectgarbage 因此在其所能达到的水平上工作:它从当前 Lua 状态收集垃圾。

关于lua - 运行垃圾收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18273123/

相关文章:

visual-studio - 如何填写 BabeLua 设置?

c++ - luabind : Accessing an invalidated c++ object from lua results in access violation

lua - 修改Lua函数

lua - 修改表中具有特定最大值和最小值的数字

变量引用中的 Lua 字符串

delphi - 如何从 Lua 调用的 Delphi 函数中获取结果

memory-leaks - Lua 弱表内存泄漏

lua - GetTrackedAchievements 返回数字而不是列表

lua - Lua中奇怪的返回声明

lua - 使用 string.gsbu 查找多个字符