Cocos2d-x 垃圾回收机制
作者:
白小白152 | 来源:发表于
2019-09-30 14:20 被阅读0次
Cocos2d-x 垃圾回收机制
local function main()
-- 运行一个完整的垃圾回收周期
collectgarbage("collect")
collectgarbage("setpause", 100)
collectgarbage("setstepmul", 5000)
end
-
collectgarbage("collect")
:运行一个完整的垃圾回收周期
-
collectgarbage("count")
:返回当前程序使用的内存总量,以KB为单位。
-
collectgarbage("restart")
:若垃圾收集器停止则重新运行
-
collectgarbage("step")
:进行一次垃圾回收迭代,第二个参数值越大表示一次迭代的时间越长,如果本次迭代时垃圾回收的最后一次迭代则函数返回true。
-
collectgarbage("stop")
:停止运行垃圾收集器
-
collectgarbage("setpause", 100)
:设置垃圾收集暂停时间变量的值,值由第二个参数指出,该值被用于控制垃圾收集器被Lua自动内存管理再次运行之前需要的等待时长。当其小于100时意味着收集器在新周期开始前不再等待。其值越大垃圾收集器被运行的频率越低,越不主动。当其值200时,收集器在总使用内存数量达到上次垃圾收集时的2倍再开启新的收集周期。因此,根据程序不同的特征,可以通过修改该值使得程序达到最佳的性能。
-
collectgarbage("setstepmul", 5000)
:设置垃圾收集器步长倍增器的值,步长倍增器stepmul用于控制垃圾收集器相对内存分配的速度。数值越大收集器工作越主动,同时也增加了垃圾收集每次迭代步长的大小。值小于100可能会导致垃圾器1个周期永远不能结束,建议不要这样设置。默认值为200,表示垃圾收集器运行的速率是内存分配的2倍。
本文标题:Cocos2d-x 垃圾回收机制
本文链接:https://www.haomeiwen.com/subject/nqacpctx.html
网友评论