程序员

Lua base collectgarbage()

2016-08-23  本文已影响2505人  AlbertS
垃圾回收.jpg

前言#

今天的函数涉及到垃圾回收机制,是lua中很重要的一部分,这是c/c++所不具备的功能,为今天我们就总结一下这个函数的简单用法,更高难度的用法大家可以根据定义自己尝试一下。

内容#


collectgarbage ()##


usage##

local x = 1
local y = 2
local z = 3;
-- 先统计现有内存使用情况
local mem1 = collectgarbage("count")
print("\ninit memory is", mem1, "kb")

-- 申请一些内存
local local_list = {}
for i=1,100 do
    local v = {}
    for i=1,10 do
        table.insert(v, i* 6)
    end
    table.insert(local_list, v)
end

local mem2 = collectgarbage("count")
print("\nafter apply memory is", mem2, "kb")

-- 内存回收
collectgarbage("collect")

-- 检查回收完的内存
local mem3 = collectgarbage("count")
print("\nafter collect memory is", mem3, "kb")

local_list = nil

-- 再次内存回收
collectgarbage("collect")

-- 检查回收完的内存
local mem4 = collectgarbage("count")
print("\nafter collect again memory is", mem4, "kb")
base_collectgarbage.png

总结#

上一篇 下一篇

猜你喜欢

热点阅读