Handler 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
처리기를 사용하면 스레드MessageQueue
의 와 연결된 및 Runnable 개체를 보내고 처리 Message
할 수 있습니다.
[Android.Runtime.Register("android/os/Handler", DoNotGenerateAcw=true)]
public class Handler : Java.Lang.Object
[<Android.Runtime.Register("android/os/Handler", DoNotGenerateAcw=true)>]
type Handler = class
inherit Object
- 상속
- 파생
- 특성
설명
처리기를 사용하면 스레드MessageQueue
의 와 연결된 및 Runnable 개체를 보내고 처리 Message
할 수 있습니다. 각 처리기 instance 단일 스레드 및 해당 스레드의 메시지 큐와 연결됩니다. 새 처리기를 만들 때 에 바인딩 Looper
됩니다. 해당 Looper의 메시지 큐에 메시지 및 실행 가능 개체를 전달하고 해당 Looper의 스레드에서 실행합니다.
처리기에는 두 가지 기본 사용이 있습니다. (1)은 메시지와 실행 가능 항목을 미래의 특정 시점에 실행하도록 예약하고 (2)는 사용자 고유의 스레드와 다른 스레드에서 수행할 작업을 큐에 넣기 위한 것입니다.
메시지 예약은 , , #postAtTime(Runnable, long)
, #postDelayed
, #sendEmptyMessage
#sendMessage
, #sendMessageAtTime
및 #sendMessageDelayed
메서드를 #post
사용하여 수행됩니다. em post/em> 버전을 사용하면 수신될 때 메시지 큐에 의해 호출될 Runnable 개체를 큐에 추가할 수 있습니다. <em>sendMessage</em> 버전을 사용하면 처리기의 #handleMessage
메서드에서 처리할 데이터 번들이 포함된 개체를 큐에 넣기 Message
할 수 있습니다(처리기의 하위 클래스를 구현해야 함).<><
처리기를 게시하거나 보낼 때 메시지 큐가 준비되는 즉시 항목을 처리하도록 허용하거나 처리되기 전에 지연을 지정하거나 처리할 절대 시간을 지정할 수 있습니다. 후자의 두 가지를 사용하면 시간 제한, 틱 및 기타 타이밍 기반 동작을 구현할 수 있습니다.
애플리케이션에 대한 프로세스가 만들어지면 해당 기본 스레드는 최상위 애플리케이션 개체(활동, 브로드캐스트 수신기 등) 및 만든 모든 창을 관리하는 메시지 큐를 실행하는 데만 전념합니다. 사용자 고유의 스레드를 만들고 처리기를 통해 기본 애플리케이션 스레드와 다시 통신할 수 있습니다. 이 작업은 이전과 동일한 <em>post</em> 또는 <em>sendMessage</em> 메서드를 새 스레드에서 호출하여 수행됩니다. 그러면 지정된 Runnable 또는 Message가 처리기의 메시지 큐에서 예약되고 적절한 경우 처리됩니다.
에 대한 Java 설명서입니다 android.os.Handler
.
이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.
생성자
Handler() |
기본 생성자는 이 처리기를 현재 스레드의 |
Handler(Action<Message>) |
처리기를 사용하면 스레드 |
Handler(Handler+ICallback) |
생성자는 이 처리기를 Looper 현재 스레드에 대한 에 연결하고 메시지를 처리할 수 있는 콜백 인터페이스를 사용합니다. |
Handler(IntPtr, JniHandleOwnership) |
JNI 개체의 관리형 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
Handler(Looper) |
기본값 대신 제공된 |
Handler(Looper, Handler+ICallback) |
기본값 대신 제공된 Looper 를 사용하고 메시지를 처리할 콜백 인터페이스를 사용합니다. |
속성
Class |
이 |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 Object) |
JniIdentityHashCode |
처리기를 사용하면 스레드 |
JniPeerMembers |
처리기를 사용하면 스레드 |
Looper | |
PeerReference |
처리기를 사용하면 스레드 |
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
메서드
Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Object) |
CreateAsync(Looper) |
게시된 메시지와 runnable에 디스플레이 vsync와 같은 동기화 장벽이 적용되지 않는 새 처리기를 만듭니다. |
CreateAsync(Looper, Handler+ICallback) |
게시된 메시지와 runnable에 디스플레이 vsync와 같은 동기화 장벽이 적용되지 않는 새 처리기를 만듭니다. |
DispatchMessage(Message) |
여기에서 시스템 메시지를 처리합니다. |
Dispose() |
처리기를 사용하면 스레드 |
Dispose(Boolean) |
처리기를 사용하면 스레드 |
Dump(IPrinter, String) | |
DumpAsync(IPrinter, String) |
처리기를 사용하면 스레드 |
Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
GetHashCode() |
개체의 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
GetMessageName(Message) |
지정된 메시지의 이름을 나타내는 문자열을 반환합니다. |
HandleMessage(Message) |
서브클래스는 메시지를 수신하려면 이를 구현해야 합니다. |
HasCallbacks(IRunnable) |
메시지 큐에 콜백 r이 있는 메시지의 보류 중인 게시물이 있는지 확인합니다. |
HasMessages(Int32) |
메시지 큐에 'what' 코드가 있는 메시지의 보류 중인 게시물이 있는지 확인합니다. |
HasMessages(Int32, Object) |
메시지 큐에 'what' 코드가 있고 obj가 'object'인 메시지의 보류 중인 게시물이 있는지 확인합니다. |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
ObtainMessage() |
전역 메시지 풀에서 새 |
ObtainMessage(Int32) |
와 동일 |
ObtainMessage(Int32, Int32, Int32) |
와 동일 |
ObtainMessage(Int32, Int32, Int32, Object) |
와 동일 |
ObtainMessage(Int32, Object) |
와 동일 |
Post(Action) |
처리기를 사용하면 스레드 |
Post(IRunnable) |
Runnable r이 메시지 큐에 추가되도록 합니다. |
PostAtFrontOfQueue(Action) |
처리기를 사용하면 스레드 |
PostAtFrontOfQueue(IRunnable) |
Runnable을 구현하는 개체에 메시지를 게시합니다. |
PostAtTime(Action, Int64) |
처리기를 사용하면 스레드 |
PostAtTime(Action, Object, Int64) |
처리기를 사용하면 스레드 |
PostAtTime(IRunnable, Int64) |
Var uptimeMillis</var>에서 지정된 특정 시간에 실행되도록 Runnable r을 메시지 큐에 <>추가합니다. |
PostAtTime(IRunnable, Object, Int64) |
Var uptimeMillis</var>에서 지정된 특정 시간에 실행되도록 Runnable r을 메시지 큐에 <>추가합니다. |
PostDelayed(Action, Int64) |
처리기를 사용하면 스레드 |
PostDelayed(IRunnable, Int64) |
지정된 시간이 경과한 후 Runnable r이 메시지 큐에 추가되도록 합니다. |
PostDelayed(IRunnable, Object, Int64) |
지정된 시간이 경과한 후 Runnable r이 메시지 큐에 추가되도록 합니다. |
RemoveCallbacks(Action) |
처리기를 사용하면 스레드 |
RemoveCallbacks(Action, Object) |
처리기를 사용하면 스레드 |
RemoveCallbacks(IRunnable) |
메시지 큐에 있는 Runnable r의 보류 중인 게시물을 모두 제거합니다. |
RemoveCallbacks(IRunnable, Object) |
메시지 큐에 있는 Object var token</var을 사용하여 Runnable <var>>r</var>>의 보류 중인 게시물을 모두 제거합니다.< |
RemoveCallbacksAndMessages(Object) |
var obj</var <> 이 var>>token</var>인 <콜백 및 보낸 메시지의 보류 중인 게시물을 제거합니다. |
RemoveMessages(Int32) |
메시지 큐에 있는 'what' 코드가 있는 메시지의 보류 중인 게시물을 모두 제거합니다. |
RemoveMessages(Int32, Object) |
'what' 코드가 있고 obj가 메시지 큐에 있는 'object'인 메시지의 보류 중인 게시물을 모두 제거합니다. |
SendEmptyMessage(Int32) |
값만 포함하는 메시지를 보냅니다. |
SendEmptyMessageAtTime(Int32, Int64) |
특정 시간에 배달할 값만 포함하는 메시지를 보냅니다. |
SendEmptyMessageDelayed(Int32, Int64) |
지정된 시간이 경과한 후에 배달할 값만 포함하는 메시지를 보냅니다. |
SendMessage(Message) |
현재 시간 전에 보류 중인 모든 메시지를 보낸 후 메시지 큐의 끝에 메시지를 푸시합니다. |
SendMessageAtFrontOfQueue(Message) |
메시지 큐의 앞면에 메시지를 큐에 넣기하여 메시지 루프의 다음 반복에서 처리합니다. |
SendMessageAtTime(Message, Int64) |
절대 시간(밀리초) <>var uptimeMillis</var 전에 보류 중인 모든 메시지 후 메시지 큐에 메시지를 큐에 넣습니다>. |
SendMessageDelayed(Message, Int64) |
(현재 시간 + delayMillis) 전에 보류 중인 모든 메시지 후에 메시지 큐에 메시지를 큐에 넣습니다. |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
ToArray<T>() |
처리기를 사용하면 스레드 |
ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
UnregisterFromRuntime() |
처리기를 사용하면 스레드 |
Wait() |
현재 스레드가 깨어날 때까지 대기하게 합니다( 일반적으로 <알림을 받><거나 <>중단/>em>)합니다<. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 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) |
처리기를 사용하면 스레드 |