collectgarbage("collect")
collectgarbage("stop")
local a,b = {},{}
local m0 = collectgarbage("count")
local m1 = collectgarbage("count")
local m2 = collectgarbage("count")
local m3 = collectgarbage("count")
local m4 = collectgarbage("count")
print(m0 * 1024)
print(m1 * 1024)
print(m2 * 1024)
print(m3 * 1024)
print(m4 * 1024)
我得到了这些:
23907.0
23907.0
23907.0
24515.0
24515.0
使用Lua 5.3和OSX Mojave。
我很困惑为什么在三次调用collectgarbage("count")
之后内存使用量会增加。
谢谢。
运行以下lua代码:collectgarbage(“ collect”)collectgarbage(“ stop”)本地a,b = {},{}本地m0 = collectgarbage(“ count”)本地m1 = collectgarbage(“ count”)本地m2 = collectgarbage(“ count” ...
collectgarbage()
调用的序列涉及在全局环境的表中搜索该函数,并将其与字符串参数一起推入堆栈。Lua将collectgarbage
报告推送到VM状态的堆栈中。