设为首页
收藏本站
开启辅助访问
切换到窄版
充值
登录
立即注册
只需一步,快速开始
懒人官网
论坛首页
BBS
视频直播网校
VIP会员
钱包
合鑫云真机
任务大厅
搜索
搜索
本版
帖子
用户
懒人精灵论坛
»
论坛首页
›
懒人精灵
›
教程专区
›
Lua语法小贴士(十四)垃圾回收collectgarbage ...
返回列表
发新帖
Lua语法小贴士(十四)垃圾回收collectgarbage
[复制链接]
3299
|
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万
积分
管理员
积分
15428
加好友
发消息
回复楼主
返回列表
版本更新
问答专区
综合讨论
直播公开课专区
教程专区
VSCODE专区
插件专区
源码分享
懒人BUG&建议专区
论坛事务
广告位招商