finalize.Object

0th

Percentile

Finalizer methods called when object is clean out

Finalizer methods are called just the moment before the object is about to be deleted by the garbage collector.

If creating a custom finalize() method for a subclass in a package, then it needs to be exported in the NAMESPACE of that package. If not, it will not be found nor called and there will be no error message.

A finalizer method should never be called explicitly!

Keywords
methods, internal, programming
Usage
"finalize"(this, ...)
Arguments
...
Not used.
See Also

For more information see Object.

Aliases
  • finalize.Object
  • Object.finalize
  • finalize,Object-method
Examples
setConstructorS3("MyClass", function() {
  extend(Object(), "MyClass")
})

setMethodS3("finalize", "MyClass", function(this, ...) {
  cat(as.character(this), "is about to be removed from the memory!\n")
})

o <- MyClass()
o <- MyClass()
o <- MyClass()
o <- MyClass()
gc()

## MyClass: 0x01BE602C is about to be removed from the memory!
## MyClass: 0x01BFF634 is about to be removed from the memory!
## MyClass: 0x01C13584 is about to be removed from the memory!
##          used (Mb) gc trigger (Mb)
## Ncells 229903  6.2     467875 12.5
## Vcells  53725  0.5     786432  6.0

rm(o)
## MyClass: 0x01C578B0 is about to be removed from the memory!
##          used (Mb) gc trigger (Mb)
## Ncells 229903  6.1     467875 12.3
## Vcells  53725  0.5     786432  6.0
Documentation reproduced from package R.oo, version 1.20.0, License: LGPL (>= 2.1)

Community examples

Looks like there are no examples yet.