register

abstract fun <T : Any> register(ref: T, callback: (ref: T, event: String) -> Unit)(source)

This function registers a callback to be called when the process emits the exit event if the ref object was not garbage collected. If the object ref was garbage collected before the exit event is emitted, the callback will be removed from the finalization registry, and it will not be called on process exit.

Inside the callback you can release the resources allocated by the ref object. Be aware that all limitations applied to the beforeExit event are also applied to the callback function, this means that there is a possibility that the callback will not be called under special circumstances.

The idea of this function is to help you free up resources when the starts process exiting, but also let the object be garbage collected if it is no longer being used.

Since

v22.5.0

Parameters

ref

The reference to the resource that is being tracked.

callback

The callback function to be called when the resource is finalized.