设为首页
收藏本站
开启辅助访问
切换到窄版
充值
登录
立即注册
只需一步,快速开始
懒人官网
论坛首页
BBS
视频直播网校
VIP会员
钱包
合鑫云真机
任务大厅
搜索
搜索
本版
帖子
用户
懒人精灵论坛
»
论坛首页
›
懒人精灵
›
教程专区
›
Lua语法小贴士(十四)垃圾回收collectgarbage ...
返回列表
发新帖
Lua语法小贴士(十四)垃圾回收collectgarbage
[复制链接]
8950
|
5
|
2022-5-15 12:00:32
|
显示全部楼层
|
阅读模式
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便会开启自动垃圾回收。
回复
使用道具
举报
1398088805
|
2022-5-20 18:39:38
|
显示全部楼层
水一下水一下水一下水一下水一下
回复
使用道具
举报
q2212282
|
2022-8-15 04:42:53
|
显示全部楼层
水一下水一下水一下水一下水一下
回复
使用道具
举报
soolecho
|
2023-7-31 21:25:17
|
显示全部楼层
看不明白。。
回复
使用道具
举报
inqefowt
|
2023-8-12 11:09:52
|
显示全部楼层
第一次发现还有收垃圾的函数。
回复
使用道具
举报
q6633036
|
2023-11-5 10:27:42
|
显示全部楼层
看看学习下
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
源码分享
综合讨论
论坛事务
懒人综合插件
admin
108
主题
131
帖子
1万
积分
管理员
积分
15980
加好友
发消息
回复楼主
返回列表
版本更新
问答专区
综合讨论
直播公开课专区
教程专区
VSCODE专区
插件专区
源码分享
懒人BUG&建议专区
论坛事务
广告位招商