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

操作类型:

stop停止垃圾收集。

restart重启垃圾收集。

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

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

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

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

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

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

例如cocos2d-x中的设置:

collectgarbage("setpause",100)
collectgarbage("setstepmul",5000)

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

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

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

Lua语法小贴士(十四)垃圾回收collectgarbage相关推荐

  1. Lua语法小贴士(二)string库

    string库 byte方法,返回byte值: print(string.byte("abc")) --97 print(string.byte("abc", ...

  2. JVM上篇:内存与垃圾回收篇十四--垃圾回收器

    JVM上篇:内存与垃圾回收篇十四–垃圾回收器 1. GC分类与新能指标 1.1 垃圾回收器概述 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商.不同版本的JVM来实现. 由于JDK的版本处于高 ...

  3. 基于微信小程序的社区垃圾回收管理系统小程序

    文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/my ...

  4. Lua语法 垃圾回收collectgarbage

    Lua垃圾回收只有一个函数collectgarbage,第一个参数是字符串,代表操作类型,第二个参数只有某些操作有,是该操作所需要的参数. 操作类型: stop停止垃圾收集. restart重启垃圾收 ...

  5. Lua语法知识点 垃圾回收collectgarbage

    Lua垃圾回收只有一个函数collectgarbage,第一个参数是字符串,代表操作类型,第二个参数只有某些操作有,是该操作所需要的参数. 操作类型: stop停止垃圾收集. restart重启垃圾收 ...

  6. JVM面试(四)-垃圾回收、垃圾收集器、GC日志

    垃圾回收.垃圾收集器.GC日志 什么是垃圾?(垃圾的概念) 什么是垃圾回收?(垃圾回收的概念) 为什么要垃圾回收?(垃圾回收的原因) 如何定义垃圾? 引用计数算法 什么是循环引用 可达性分析算法 哪些 ...

  7. mysql 语句块语法_MySQL ------ MySQL常用语句的语法 (三十四)

    MySQL常用的语句语法 注意:1. | 符号用来指出几个选中中的一个,因此NULL | NOT NULL 表示给出null 或 not null 2.包含在方括号中的关键字或子句是可选的(如 [li ...

  8. lua中的weak table及内存回收collectgarbage

    弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的.弱表的定义是:Aweak table is a table whose elements are weak refe ...

  9. 关于垃圾回收CollectGarbage()的使用

    网络上流传的关于JS释放内存的方式~ 大概就是只说过.将变量使用以后设置为 null,但是IE的GC是当鼠标点击最小化按钮时发生~~ 也就是说我们从程序上看已经释放了内存其实之前更本没有释放~~~ 研 ...

最新文章

  1. K3s初探:Rancher架构师带你尝鲜史上最轻量Kubernetes发行版
  2. lovely desktop
  3. c语言表达式用法,C语言开发之运算符、表达式用法
  4. VTK:颜色顶点标签用法实战
  5. 64位debian系统下安装inodeClient
  6. Nginx 服务并发过10万的Linux内核优化配置
  7. 计算机专业颈椎有问题,出现这4个表现,你的颈椎病已经很严重了!上班族尤需警惕_39健康网...
  8. 教育|俄罗斯天才少女200万年薪加入华为,22岁拿下世界编程冠军,同天队友也宣布加盟...
  9. APP自动化测试系列之Appium环境安装
  10. 百行征信大揭秘,字段中间找关系
  11. C#图片处理之:最简单的柔化算法
  12. iOS资源大全中文版
  13. YYKit之YYText
  14. 控制工程实践(2)——拉普拉斯变换及传递函数(之拉氏变换)
  15. php计算指数函数,指数函数运算法则公式有哪些
  16. 《王者荣耀》一次上最强王者的心路历程
  17. bzoj4987 Tree [树形背包]
  18. 27英寸显示器多大 长宽多少厘米
  19. MyCat启动报错,运行./mycat console报错 Unrecognized VM option 'AggressiveOpts'
  20. protractor测试框架6----报告、公共方法、公共变量

热门文章

  1. pytorch中tensor.mean(axis, keepdim)参数理解小实验
  2. 内科大软件工程导论复习内容笔记
  3. 【转载】如何用python给女神写一封照片情书?亲测表白率100%~
  4. 我的MEM管理类研究生,在路上
  5. 团队开发神器Git全功能介绍
  6. 计算机系统要素-从零开始构建现代计算机--第一章,01-用与非门实现与戓非
  7. Semantic UI术语
  8. 2021-08-11 星星评分动态图
  9. 科大星云诗社动态20201220
  10. 为什么很多人都不愿意去小公司面试?