清理注册表
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
继承的方法
继承自类 java.lang.Object
对象
|
clone()
|
布尔值
|
|
无效
|
finalize()
|
final Class<?>
|
getClass()
|
整数
|
hashCode()
|
final void |
notify()
|
final void |
notifyAll()
|
字符串
|
toString()
|
final void |
wait(long arg0、int arg1)
|
final void |
wait(long arg0)
|
final void |
wait()
|
公共构造函数
public
CleanupRegistry
()
public
CleanupRegistry
(HashSet<CleanupItem<T>> cleanupItemHashSet, ReferenceQueue<T> referenceQueue)
参数
cleanupItemHashSet |
|
referenceQueue |
|
公共方法
public void destroyAllResources
()
public
long
reclaimReleasedResources
()
public void register (T TrackObject, Runnable cleanupCallback)
参数
跟踪的对象 |
要跟踪的目标。 |
cleanupCallback |
将在 trackedOBject 处理后调用。 |
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2022-09-26。
[null,null,["最后更新时间 (UTC):2022-09-26。"],[[["\u003cp\u003e\u003ccode\u003eCleanupRegistry\u003c/code\u003e manages resource cleanup by tracking objects and executing cleanup logic when they are garbage collected.\u003c/p\u003e\n"],["\u003cp\u003eIt utilizes a \u003ccode\u003eReferenceQueue\u003c/code\u003e to monitor garbage collection and a \u003ccode\u003eRunnable\u003c/code\u003e to perform cleanup tasks.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eCleanupRegistry\u003c/code\u003e allows registering objects for tracking and provides methods for manual resource release and reclaiming released resources.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eregister\u003c/code\u003e method associates a cleanup callback (\u003ccode\u003eRunnable\u003c/code\u003e) with an object, ensuring the callback is executed upon garbage collection.\u003c/p\u003e\n"]]],["`CleanupRegistry` manages object cleanup after garbage collection. It uses a `ReferenceQueue` to track objects and runs a specified `Runnable` when each object is collected. Key actions include: `register` to add objects to the queue with a cleanup callback, `reclaimReleasedResources` to check for and process collected objects, and `destroyAllResources` to force release resources. It has two constructors: a default one and one that takes a `HashSet` and `ReferenceQueue` to initialize.\n"],null,["# CleanupRegistry\n\npublic class **CleanupRegistry** \nMaintains a [ReferenceQueue](https://developer.android.com/reference/java/lang/ref/ReferenceQueue) and executes a [Runnable](https://developer.android.com/reference/java/lang/Runnable) after each object in the queue\nis garbage collected. \n\n### Public Constructors\n\n|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | [CleanupRegistry](/sceneform/reference/com/google/ar/sceneform/rendering/CleanupRegistry#CleanupRegistry())() |\n| | [CleanupRegistry](/sceneform/reference/com/google/ar/sceneform/rendering/CleanupRegistry#CleanupRegistry(java.util.HashSet\u003ccom.google.ar.sceneform.rendering.CleanupItem\u003cT\u003e\u003e,%20java.lang.ref.ReferenceQueue\u003cT\u003e))([HashSet](https://developer.android.com/reference/java/util/HashSet)\\\u003cCleanupItem\\\u003cT\\\u003e\\\u003e cleanupItemHashSet, [ReferenceQueue](https://developer.android.com/reference/java/lang/ref/ReferenceQueue)\\\u003cT\\\u003e referenceQueue) |\n\n### Public Methods\n\n|------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| void | [destroyAllResources](/sceneform/reference/com/google/ar/sceneform/rendering/CleanupRegistry#destroyAllResources())() Ignores reference count and releases any associated resources |\n| long | [reclaimReleasedResources](/sceneform/reference/com/google/ar/sceneform/rendering/CleanupRegistry#reclaimReleasedResources())() Polls the [ReferenceQueue](https://developer.android.com/reference/java/lang/ref/ReferenceQueue) for garbage collected objects and runs the associated [Runnable](https://developer.android.com/reference/java/lang/Runnable) |\n| void | [register](/sceneform/reference/com/google/ar/sceneform/rendering/CleanupRegistry#register(T,%20java.lang.Runnable))(T trackedObject, [Runnable](https://developer.android.com/reference/java/lang/Runnable) cleanupCallback) Adds `trackedOBject` to the [ReferenceQueue](https://developer.android.com/reference/java/lang/ref/ReferenceQueue). |\n\n### Inherited Methods\n\nFrom class java.lang.Object \n\n|-----------------------------------------------------------------------------|---------------------------------------------------------------------------------|\n| [Object](https://developer.android.com/reference/java/lang/Object) | clone() |\n| boolean | equals([Object](https://developer.android.com/reference/java/lang/Object) arg0) |\n| void | finalize() |\n| final [Class](https://developer.android.com/reference/java/lang/Class)\\\u003c?\\\u003e | getClass() |\n| int | hashCode() |\n| final void | notify() |\n| final void | notifyAll() |\n| [String](https://developer.android.com/reference/java/lang/String) | toString() |\n| final void | wait(long arg0, int arg1) |\n| final void | wait(long arg0) |\n| final void | wait() |\n\nFrom interface [com.google.ar.sceneform.resources.ResourceHolder](/sceneform/reference/com/google/ar/sceneform/resources/ResourceHolder) \n\n|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract void | [destroyAllResources](/sceneform/reference/com/google/ar/sceneform/resources/ResourceHolder#destroyAllResources())() Ignores reference count and disposes any associated resources. |\n| abstract long | [reclaimReleasedResources](/sceneform/reference/com/google/ar/sceneform/resources/ResourceHolder#reclaimReleasedResources())() Polls for garbage collected objects and disposes associated data. |\n\nPublic Constructors\n-------------------\n\n#### public\n**CleanupRegistry**\n()\n\n\u003cbr /\u003e\n\n#### public\n**CleanupRegistry**\n([HashSet](https://developer.android.com/reference/java/util/HashSet)\\\u003cCleanupItem\\\u003cT\\\u003e\\\u003e cleanupItemHashSet, [ReferenceQueue](https://developer.android.com/reference/java/lang/ref/ReferenceQueue)\\\u003cT\\\u003e referenceQueue)\n\n\u003cbr /\u003e\n\n##### Parameters\n\n| cleanupItemHashSet | |\n| referenceQueue | |\n|--------------------|---|\n\nPublic Methods\n--------------\n\n#### public void\n**destroyAllResources**\n()\n\nIgnores reference count and releases any associated resources \n\n#### public long\n**reclaimReleasedResources**\n()\n\nPolls the [ReferenceQueue](https://developer.android.com/reference/java/lang/ref/ReferenceQueue) for garbage collected objects and runs the associated [Runnable](https://developer.android.com/reference/java/lang/Runnable) \n\n##### Returns\n\n- count of resources remaining. \n\n#### public void\n**register**\n(T trackedObject, [Runnable](https://developer.android.com/reference/java/lang/Runnable) cleanupCallback)\n\nAdds `trackedOBject` to the [ReferenceQueue](https://developer.android.com/reference/java/lang/ref/ReferenceQueue). \n\n##### Parameters\n\n| trackedObject | The target to be tracked. |\n| cleanupCallback | Will be called after `trackedOBject` is disposed. |\n|-----------------|---------------------------------------------------|"]]