Lua语法 垃圾回收collectgarbage

Lua语法 垃圾回收collectgarbageLua 垃圾回收只有一个函数 collectgarba 第一个参数是字符串 代表操作类型 第二个参数只有某些操作有 是该操作所需要的参数 nbsp 操作类型 stop 停止垃圾收集 restart 重启垃圾收集 collect 执行一个完整的垃圾收集循环 count 返回当前使用的内存 单位为千字节 step 单步执行垃圾收集 第二个参数代表多少步 如果步长可以完成一次垃圾收集 则返回 t

Lua垃圾回收只有一个函数collectgarbage,第一个参数是字符串,代表操作类型,第二个参数只有某些操作有,是该操作所需要的参数。

 

操作类型:

stop停止垃圾收集。

restart重启垃圾收集。

collect执行一个完整的垃圾收集循环。

count返回当前使用的内存,单位为千字节。

step单步执行垃圾收集,第二个参数代表多少步。如果步长可以完成一次垃圾收集,则返回true。

setstepmul第二参数/100代表单步的速度,默认值为200,代表是内存分配速度的两倍。

setpause第二个参数/100代表在开始一个新的收集周期之前要等待多久。当这个值小于等于100的时候,就代表执行完一个周期之后不会等待,直接进入下一个周期。当这个值为200的时候,就代表当内存达到上一个周期结束时的两倍的时候,再进入下一个周期。

例如cocos2d-x中的设置:

 

  
  1. collectgarbage("setpause",100)
  2. collectgarbage("setstepmul",5000)

setpause为100代表,垃圾收集不会停止,setsetpmul为5000代表是内存分配速度的50倍。

 

我们只需要将不适用的变量设置为nil,它之前所引用的类型就会在一定时间内被自动回收。

当设置了setstepmul和setpause,Lua便会开启自动垃圾回收。

 

https://blog.csdn.net/ecidevilin/article/details/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222136.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午4:29
下一篇 2026年3月17日 下午4:30


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号