zm.CollectGarbage 清理脚本内存

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

Lua的垃圾回收机制接口, 原型是collectgarbage()函数, 可通过第一个参数实现不同的操作, 默认为释放脚本内存功能

语法

结果 = zm.CollectGarbage([操作类型[, 附加参数]])

参数

参数 数据类型 解释
操作类型 字符串 可选, 省略默认为执行一个完整的垃圾回收周期, 详细请百度搜索lua collectgarbage
附加参数 字符串 可选, 改变回收步骤周期等, 详细请百度搜索lua collectgarbage

返回值

数值型 , 返回执行结果, 由参数1决定返回内容

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次

TracePrint "当前脚本占用内存", zm.GetScriptMemory(), "kb"

Dim a = {"紫猫", "学院", "https://zimaoxy.com"}
TracePrint "创建数组后占用内存", zm.GetScriptMemory(), "kb"

a = Null
TracePrint "删除数组后占用内存", zm.GetScriptMemory(), "kb"

zm.CollectGarbage()

TracePrint "执行清理内存后占用内存", zm.GetScriptMemory(), "kb"

备注

  • 不建议频繁调用, 会降低脚本执行效率, 一般在加载大型资源前调用一次, 例如读取很大的一个文件之类的
  • V3.1852: 初次加入命令