lua内存监测和回收

时间:2023-03-10 02:09:50
lua内存监测和回收

以下来自书籍《Cocos2d-x之Lua核心编程》

1.-----------------------------------------

若想查看程序当前的内存占用情况,可以使用Lua提供的collectgarbage。collectgarbage是Lua内部的垃圾回收模块对外提供的接口,可以用来监控或改变垃圾回收器的默认行为。

下面是一个collectgarbage使用的例子

print(collectgarbage("count"))
local test = {}
for i=1,10000 do
test[i] = {}
end
print(collectgarbage("count"))  --打印当前的内存使用情况
collectgarbage("collect")    --显示的回收内存
print(collectgarbage("count"))

运行结果
[LUA-print] 3333.828125
[LUA-print] 3902.38671875
[LUA-print] 2991.7509765625

2.-----------------------------------------

Cocos2d-lua的内存监控

打开src/config.lua,修改下面的值为true,控制台窗口就会每隔10秒打印出当前的内存占用情况。

-- dump memory info every 10 seconds
DEBUG_MEM = true