跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Lua垃圾回收怎么玩?collectgarbage函数深度解析!

大家好,我是林译川,今天我们来聊聊Lua中那个神秘的垃圾回收函数——collectgarbage。你是否曾经困惑于Lua内存管理的细节?是否想要深入了解Lua的垃圾回收机制?那就跟我一起走进Lua垃圾回收的世界吧!

什么是collectgarbage函数?

Lua的垃圾回收只有一个函数,就是collectgarbage。这个函数接收两个参数,第一个是操作类型的字符串,第二个参数则是某些操作所需的参数。

collectgarbage函数的操作类型

  • stop:停止垃圾收集。
  • restart:重启垃圾收集。
  • collect:执行一个完整的垃圾收集循环。
  • count:返回当前使用的内存,单位为千字节。
  • step:单步执行垃圾收集,第二个参数代表多少步。如果步长可以完成一次垃圾收集,则返回true。
  • setstepmul:第二参数/100代表单步的速度,默认值为200,代表是内存分配速度的两倍。
  • setpause:第二个参数/100代表在开始一个新的收集周期之前要等待多久。当这个值小于等于100的时候,就代表执行完一个周期之后不会等待,直接进入下一个周期。当这个值为200的时候,就代表当内存达到上一个周期结束时的两倍的时候,再进入下一个周期。

实战案例:cocos2d-x中的设置

在cocos2d-x中,我们可以看到如何使用collectgarbage函数来设置垃圾回收的参数:

collectgarbage(
                            

相关文章