Cleaner 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
Cleaner
管理一组对象引用和相应的清理操作。
[Android.Runtime.Register("java/lang/ref/Cleaner", ApiSince=33, DoNotGenerateAcw=true)]
public sealed class Cleaner : Java.Lang.Object
[<Android.Runtime.Register("java/lang/ref/Cleaner", ApiSince=33, DoNotGenerateAcw=true)>]
type Cleaner = class
inherit Object
- 继承
- 属性
注解
Cleaner
管理一组对象引用和相应的清理操作。
清理操作将在 #register(Object object, Runnable action) registered
清理器收到对象已变为虚拟可访问的通知后运行。 清理器使用 PhantomReference
并在 ReferenceQueue
可访问性发生更改时收到通知。
每个清理器独立运行,管理挂起的清理操作,并在清理器不再使用时处理线程和终止。 注册对象引用和相应的清理操作将 Cleanable Cleanable
返回 。 最有效的用法是在对象关闭或不再需要对象时显式调用 Cleanable#clean clean
方法。 清理操作是在对象变为虚拟可访问对象时最多调用一 Runnable
次,除非它已被显式清理。 请注意,清理操作不得引用正在注册的对象。 如果是这样,对象将不会变为虚拟可访问,并且不会自动调用清理操作。
清理操作的执行由与清理器关联的线程执行。 清除操作引发的所有异常将被忽略。 清理操作和其他清理操作不受清理操作中的异常影响。 线程将运行,直到所有已注册的清理操作都已完成,清理器本身被垃圾回收器回收。
清理器在期间 System#exit(int) System.exit
的行为特定于实现。 不保证是否调用清理操作。
除非另有说明,否则将参数传递给 null
此类中的构造函数或方法将导致 java.lang.NullPointerException NullPointerException
引发 。
在 9 中添加。
的 java.lang.ref.Cleaner
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 (继承自 Object) |
方法
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
Create() |
返回一个新的 |
Create(IThreadFactory) |
使用 |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
指示其他某个对象是否“等于”此对象。 (继承自 Object) |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
JavaFinalize() |
当垃圾回收确定不再引用对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
Register(Object, IRunnable) |
|
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
ToArray<T>() |
|
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
|
Wait() |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<> (继承自 Object) |
Wait(Int64) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
Wait(Int64, Int32) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
显式接口实现
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|