PhantomReference 클래스

정의

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

[Android.Runtime.Register("java/lang/ref/PhantomReference", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public class PhantomReference : Java.Lang.Ref.Reference
[<Android.Runtime.Register("java/lang/ref/PhantomReference", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type PhantomReference = class
    inherit Reference
상속
PhantomReference
특성

설명

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다. 가상 참조는 사후 정리 작업을 예약하는 데 가장 자주 사용됩니다.

가비지 수집기가 특정 시점에 개체에 연결할 수 있다고 판단한다고 가정합니다. 이때 해당 개체에 대한 모든 가상 참조와 해당 개체에 연결할 수 있는 다른 가상 연결 가능 개체에 대한 모든 가상 참조를 원자성으로 지웁니다. 동시에 또는 나중에 참조 큐에 등록된 새로 지워진 가상 참조를 큐에 삽입합니다.

회수 가능한 개체가 유지되도록 하기 위해 가상 참조의 참조를 검색할 수 없습니다. 가상 참조의 메서드는 get 항상 반환됩니다 null.

1.2에 추가되었습니다.

에 대한 java.lang.ref.PhantomReferenceJava 설명서

이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.

생성자

Name Description
PhantomReference(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

PhantomReference(Object, ReferenceQueue)

지정된 개체를 참조하고 지정된 큐에 등록된 새 가상 참조를 만듭니다.

속성

Name Description
Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
IsEnqueued

이 참조 개체가 연결된 큐에 있는지 테스트합니다(있는 경우).

(다음에서 상속됨 Reference)
JniIdentityHashCode

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
JniPeerMembers

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

PeerReference

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

Name Description
Clear()

이 참조 개체를 지웁니다.

(다음에서 상속됨 Reference)
Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Dispose()

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
Enqueue()

등록된 큐에 이 참조 개체를 추가합니다(있는 경우).

(다음에서 상속됨 Reference)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
Get()

이 참조 개체의 참조를 반환합니다.

(다음에서 상속됨 Reference)
GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
RefersTo(Object)

이 참조 개체의 참조가 .인지 테스트합니다 obj.

(다음에서 상속됨 Reference)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
ToArray<T>()

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받><거나 ><>중단/종료<합니다.>

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

Name Description
IJavaPeerable.Disposed()

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

(다음에서 상속됨 Object)

확장명 메서드

Name Description
GetJniTypeName(IJavaPeerable)

인스턴스 self형식의 JNI 이름을 가져옵니다.

JavaAs<TResult>(IJavaPeerable)

형식self을 강제 TResult 변환하여 강제 변환이 Java 쪽에서 유효한지 확인합니다.

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

Phantom 참조 개체는 수집기에서 참조를 회수할 수 있다고 결정한 후에 큐에 추가됩니다.

TryJavaCast<TResult>(IJavaPeerable, TResult)

형식self을 강제 TResult 변환하여 강제 변환이 Java 쪽에서 유효한지 확인합니다.

적용 대상