Universidad de Magallanes

Investigación


Dirección de Investigación


facebook twitter youtube
02 de agosto del 2019

안드로이드 asynctask 스레드 예제

이 메서드는 doInBackground (Params…)에서 호출하여 백그라운드 계산이 계속 실행되는 동안 UI 스레드에 업데이트를 게시할 수 있습니다. 이 메서드에 대 한 각 호출은 UI 스레드에서 onProgressUpdate (진행률…)의 실행을 트리거합니다. onProgressUpdate(진행률…) 작업이 취소된 경우 호출되지 않습니다. 이 메서드를 완료하는 데 몇 초 정도 걸릴 수 있으므로 작업자 스레드에서만 호출해야 합니다. 새 비동기 작업을 만듭니다. 이 생성자는 UI 스레드에서 호출되어야 합니다. 주 스레드와 동기화 하는 경우 다시 결과 사용자 인터페이스 에 다시 결과 취소 에 대 한 기본값 스레드 없음 기본 스레드 풀링 에 대한 기본값 안 처리에 대 한 기본안 드 로이드 호출 에 구성 변경 변경 작업 실행 되기 전에 UI 스레드에 실행 되 면 스레드는 동시 실행 단위입니다. 자체 호출 스택이 있습니다. 응용 프로그램에서 스레드를 구현하는 방법에는 두 가지가 있습니다.

하나는 스레드를 확장하고 run() 메서드를 재정의하는 새 클래스를 제공하는 것입니다. 다른 하나는 새 Thread 인스턴스에 실행 가능한 개체를 만드는 동안 제공 합니다. 취소(부울)가 호출되고 doInBackground(java.lang.Object[])가 완료된 후 UI 스레드에서 실행됩니다. 장기 실행 또는 CPU 집약적 인 작업의 경우 기본적으로 이 작업을 수행하는 두 가지 방법이 있습니다: Java 스레드 및 Android의 기본 AsyncTask. 트리거: IntentService는 의도를 사용하여 트리거되고 새 작업자 스레드를 생성하며 onHandleIntent() 메서드가 이 스레드에서 호출됩니다. 성능이 향상되도록 장기 실행 작업을 주 스레드와 분리하는 데 스레드를 사용해야 합니다. 그러나 우아하게 취소 할 수 없으며 Android의 구성 변경을 처리 할 수 없습니다. 스레드에서 UI를 업데이트할 수 없습니다. 원격 이미지를 검색하는 데 AsyncTask를 사용하는 방법에 대한 예제는 원격 이미지 하드 웨이 표시를 참조하십시오. AsyncTask는 스레드 및 처리기 주위의 도우미 클래스로 설계되었으며 일반 스레딩 프레임워크를 구성하지 않습니다.

비동기 작업은 짧은 작업에 이상적으로 사용되어야 합니다(가장 몇 초). 스레드를 장기간 실행해야 하는 경우 실행기, ThreadPoolExecutor 및 FutureTask와 같은 java.util.concurrent 패키지에서 제공하는 다양한 API를 사용하는 것이 좋습니다. onPostExecute() 메서드는 사용자 인터페이스 스레드와 다시 동기화되어 업데이트할 수 있습니다. doInBackground() 메서드가 완료되면 이 메서드는 프레임워크에서 호출됩니다. AsyncTask를 취소해야 하는 경우 취소(부울) 메서드를 호출하여 취소합니다. 다음은 AsyncTask를 사용하면 UI 스레드를 적절하고 쉽게 사용할 수 있습니다. 이 클래스를 사용하면 스레드 및/또는 처리기를 조작하지 않고도 백그라운드 작업을 수행하고 UI 스레드에 결과를 게시할 수 있습니다.

inicio atrás arriba

DESTACADOS

  • LINKS


  • Dirección de Investigación

    Investigación • Avenida Bulnes 01890 • Punta Arenas • Chile
    Teléfono: +56 61 2 209 397 • Email: dir.investigacion@umag.cl