Version: 2022.1
LanguageEnglish
  • C#

GarbageCollector.CollectIncremental

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public static bool CollectIncremental(ulong nanoseconds);

Parameters

nanoseconds The maximum number of nanoseconds to spend in garbage collection.

Returns

bool Returns true if additional garbage collection work remains when the method returns and false if garbage collection is complete. Also returns false if incremental garbage collection is not enabled or is not supported on the current platform.

Description

Perform incremental garbage collection for the duration specified by the nanoseconds parameter.

If incremental garbage collection is enabled, then CollectIncremental() runs the incremental garbage collector for up to the specified number of nanoseconds. The method returns when either the specified amount of time has elapsed, or there is no more garbage collection work to be done. Note that the garbage collector uses the underlying platform timer, which can have a resolution as low as a few microseconds. In other words, changing the value by a few nanoseconds might have no effect.

Use this method when you know you have a certain amount of time to wait for something to happen, and want to use this time to let the garbage collector run.

If incremental garbage collection is not enabled, this method does nothing and returns false — the IsIncremental property must be true to use this method.

Enable incremental garbage collection in the PlayerSettings for a project. You can check whether incremental garbage collection is enabled with IsIncremental.

See Also: incrementalTimeSliceNanoseconds.