Difference between revisions of "Collectgarbage"

From GiderosMobile
(added 1 example case)
m (Text replacement - "<source" to "<syntaxhighlight")
Line 5: Line 5:
 
=== Description ===
 
=== Description ===
 
This function is a generic interface to the garbage collector.
 
This function is a generic interface to the garbage collector.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
collectgarbage(opt,arg)
 
collectgarbage(opt,arg)
 
</source>
 
</source>
Line 24: Line 24:
 
=== Example ===
 
=== Example ===
 
'''Takes over automatic garbage collection, do it in small steps. Increase/decrease the amount depending on your game'''
 
'''Takes over automatic garbage collection, do it in small steps. Increase/decrease the amount depending on your game'''
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
collectgarbage("setstepmul",1000)
 
collectgarbage("setstepmul",1000)
 
collectgarbage()
 
collectgarbage()

Revision as of 14:26, 13 July 2023

Available since: Gideros 2011.6
Class: (global)

Description

This function is a generic interface to the garbage collector. <syntaxhighlight lang="lua"> collectgarbage(opt,arg) </source>

It performs different functions according to its first argument, opt:

  • "stop": stops the garbage collector
  • "restart": restarts the garbage collector
  • "collect": performs a full garbage-collection cycle
  • "count": returns the total memory in use by Lua (in Kbytes)
  • "step": performs a garbage-collection step. The step "size" is controlled by arg (larger values mean more steps) in a non-specified way. If you want to control the step size you must experimentally tune the value of arg. Returns true if the step finished a collection cycle
  • "setpause": sets arg as the new value for the pause of the collector. Returns the previous value for pause
  • "setstepmul": sets arg as the new value for the step multiplier of the collector. Returns the previous value for step

Parameters

opt: (string) command for garbage collector mechanism
arg: (varies) additional parameters for command optional

Example

Takes over automatic garbage collection, do it in small steps. Increase/decrease the amount depending on your game <syntaxhighlight lang="lua"> collectgarbage("setstepmul",1000) collectgarbage() </source>