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
클리너가 개체에 연결할 수 있게 되었다는 알림을 받은 후 실행됩니다. 클리너는 연결 가능성이 변경될 때 및 ReferenceQueue
를 사용하여 PhantomReference
알림을 받습니다.
각 클리너는 독립적으로 작동하여 보류 중인 청소 작업을 관리하고 청소기가 더 이상 사용되지 않을 때 스레딩 및 종료를 처리합니다. 개체 참조 및 해당 정리 작업을 등록하면 가 반환됩니다 Cleanable Cleanable
. 가장 효율적인 사용은 개체가 닫히거나 더 이상 필요하지 않을 때 메서드를 명시적으로 호출 Cleanable#clean clean
하는 것입니다. 정리 작업은 개체가 Runnable
이미 명시적으로 정리되지 않은 한 가상에 연결할 수 있게 되면 최대 한 번 호출되는 입니다. 정리 작업은 등록되는 개체를 참조해서는 안됩니다. 이 경우 개체에 연결할 수 없게 되고 정리 작업이 자동으로 호출되지 않습니다.
정리 작업의 실행은 클리너와 연결된 스레드에 의해 수행됩니다. 정리 작업에서 throw된 모든 예외는 무시됩니다. 청소기 및 기타 청소 작업은 정리 작업의 예외에 의해 영향을 받지 않습니다. 스레드는 등록된 모든 정리 작업이 완료되고 청소기 자체가 가비지 수집기에 의해 회수될 때까지 실행됩니다.
그 동안 System#exit(int) System.exit
의 클리너 동작은 구현에 따라 다릅니다. 정리 작업이 호출되는지 여부에 대한 보장은 없습니다.
달리 명시되지 않는 한 이 클래스의 null
생성자 또는 메서드에 인수를 전달하면 이 java.lang.NullPointerException NullPointerException
throw됩니다.
9에 추가되었습니다.
에 대한 Java 설명서입니다 java.lang.ref.Cleaner
.
이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.
속성
Class |
이 |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Object) |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 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>합니다. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>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) |
|