스레드는 실행 후 Looper.prepare()를 호출하여 루퍼 및 MessageQueue를 가져옵니다. Looper.prepare()는 호출 스레드를 식별하고 루퍼 및 MessageQueue 개체를 만들고 이 문서에서는 Android 루퍼, 처리기 및 처리기 스레드를 다루는 스레드를 연결합니다. 이들은 안드로이드 OS의 빌딩 블록 중 하나입니다. 루퍼로 스레드를 초기화하는 Looper.prepare()를 호출하여 루퍼 및 처리기 및 파이프라인 스레드 정의에 대해 자세히 알아보기 https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/os/Looper.java. 현재 스레드를 루퍼로 표시하여 응용 프로그램의 주 루퍼로 표시합니다. 응용 프로그램의 주요 루퍼는 Android 환경에서 만들어지므로이 함수를 직접 호출 할 필요가 없습니다. 참조: 준비() 1단계: 이 스레드에 루퍼가 이미 있는지 확인한 다음 Looper.prepare()를 사용합니다. 모든 스레드는 최대 하나의 루퍼만 가질 수 있으므로 사용자 Looper.prepared()를 사용하기 전에 이미 하나 만 있는지 확인해야 합니다. 루퍼는 스레드를 파이프라인 스레드로 변환하는 클래스이며 처리기는 다른 스레드에서 작업을 푸시하는 메커니즘을 제공합니다.

루퍼는 핸들러와 루퍼 A 핸들러의 사용을 보여주는 몇 가지 단계를 통해 스레드에서 프로그래밍 할 수 있습니다 루퍼 A 처리기는 스레드의 루퍼를 통해 인스턴스화 스레드와 암시적으로 연결됩니다, 그러나 우리는 명시적으로 스레드를 전달하여 스레드에 연결할 수 있습니다 처리기의 생성자에서 스레드의 루퍼입니다. 각 메시지 개체의 수명이 제한되어 있습니다. 처리기에서 수신하고 실행이 반환되면 루퍼는 메시지를 사용하지 않는 것으로 표시하고 재활용합니다. 루퍼를 사용하면 단일 스레드에서 작업을 순차적으로 실행할 수 있습니다. 그리고 처리기는 실행해야 하는 작업을 정의합니다. 그것은 내가이 예제에서 설명하려고하는 전형적인 시나리오입니다 : 더 똑바로 앞으로 만들기 위해 – 나는 Looper가 죽은 루프 «펌프»처럼 언급 기억? 처리기는 루퍼의 인터페이스로 처리 될 수 있습니다., 같은 몇 가지 메서드를 노출: sendMessage() 및 post(). Android 루퍼 클래스에는 MessageQueue가 포함되어 있으며 생성된 스레드와만 연결됩니다. 이 연결은 끊을 수 없으며 루퍼를 다른 스레드에 연결할 수 없습니다. 또한 Looper는 로컬 저장소에 있으며 정적 메서드에서만 호출할 수 있습니다.

준비 메서드는 루퍼가 이미 스레드와 연결되어 있는지 확인한 다음 정적 메서드가 루퍼를 만듭니다. 그런 다음 루프를 사용하여 큐의 메시지를 확인할 수 있습니다. 이제 다른 스레드 (예 : UI 스레드)에서 처리기를 사용하여 Looper에 작업을 게시하여 실행할 수 있습니다. 기술 애호가. 물건을 수리하는 것을 좋아합니다. 항상 기술을 사용하여 멋진 무언가를 만들려고 노력합니다. 안드로이드, 라즈베리 파이, 아두 이노, Opencv 및 훨씬 더에 대한 코딩을 사랑 해요. 스레드당 하나의 루퍼만 있습니다. 주요 방법에는 prepare(), 루프() 및 quit()가 포함됩니다.

현재 스레드와 연결된 MessageQueue 개체를 반환합니다. 루퍼를 실행하는 스레드에서 호출해야 하거나 NullPointerException이 throw됩니다. 루퍼가 메시지 개체 큐를 관리하는 방법을 자세히 파고 싶다면 Looper 클래스의 소스 코드를 살펴 볼 수 있습니다 : 안드로이드 루퍼는 보이드, getMainLooper, getThread, 루프, myLooper, myQueue, 준비, 준비, 준비, 종료, setMessagelogging 및 toString. Android 루퍼 및 Android 처리기 클래스를 사용하면 개발자가 동시성 액세스의 걱정, 즉 사용자가 업데이트되는 동안 단추를 클릭하여 UI 구성 요소에 대한 액세스를 잠그지 않아도 된다는 이점이 있습니다. 루퍼, 핸들러 및 핸들러 스레드는 비동기 프로그래밍의 문제를 해결하는 안드로이드의 방법입니다.