Components.utils.schedulePreciseGC

This method lets scripts schedule a garbage collection cycle. The garbage collection cycle will occur sometime in the future, when no JavaScript code is executing. This is useful particularly when testing for memory leaks, because normal garbage collection is conservative when JavaScript code is running to ensure that in-use memory isn't inadvertently collected.

Note: Garbage collection is a very expensive operation and should only be forced when it is known to be absolutely necessary.

Requires chrome privileges.

Using schedulePreciseGC()

When you call Components.utils.schedulePreciseGC(), you specify a callback that is executed in once the scheduled garbage collection has been completed:

Components.utils.schedulePreciseGC(
  function() {
    // This code is executed when the garbage collection has completed
  }
);

Since the garbage collection doesn't occur until some time in the future (unlike, for example, Components.utils.forceGC(), which causes garbage collection immediately but isn't able to collect all JavaScript-related memory), the callback lets you know when that's been finished.

See also