2013-05-31 2 views
2

코드는 onActivityResult()에 있지만, 내 활동이 많이 느려지고 있습니다.
코드는 이미지에 Binarizng 할 것입니다.
난 당신이안드로이드 쓰레드 및 AsyncTask

+0

Asyntask – Blackbelt

+0

설명 사용? –

+1

AsyncTask는 스레드에서 작업을 실행할 수있는 Executor를 래핑합니다! = UI Thread. 그것은 더 낮은 수준의 생성자를 더 userfrendly 인터페이스를 제공합니다. – Blackbelt

답변

1

onActivityResult는 스레드 또는 비동기 작업과 아무 관련이 없습니다.

스레드를 사용하면 앱에서 두 가지 작업을 한 번에 수행 할 수 있습니다. 이렇게하는 것은 상당히 위험 할 수 있습니다 (동일한 변수를 동시에 작성하는 경우 어떻게됩니까?). 그들을 사용할 때 조심해야합니다.

AsyncTask는 주 UI 스레드에서 코드가 자동 실행되도록하는 스레드입니다. 스레드에서 일부 코드를 실행 한 다음 주 스레드에서 결과를 동기화하는 데 유용합니다.

onActivityResult는 앱에서 또는 다른 사람이 완전히 별도의 활동을 실행 중일 때 호출됩니다. 다른 활동을 실행해야하는 경우 결과를 다시 얻을 수있는 유일한 방법입니다. 스레드와는 아무런 관련이 없습니다.

+0

감사합니다. AsyncTask .... 사용하여 100 및 성능 개선 및없이 오류 –

+0

나는 활동 결과에 사용했습니다. –

1

사용 AsyncTask를

AsyncTask를이 또한 스레드를 사용하지만 지능적인 방법으로 저를 도울 수 AsyncTask 또는 Thread,
를 사용하는 것이 무슨 혼란 스러워요. 안드로이드에서는 작업자 스레드에서 직접 UI를 업데이트 할 수 없습니다. 하지만 Asynctask에서 UI 작업을 수행 할 수 있습니다. 그래서 이것은 더 나은 선택입니다.

1

AsyncTask와 Thread 모두 다른 스레드에서 백그라운드 작업을 실행할 수 있습니다.

그러나 AsyncTask는 다양한 콜백을 제공하므로 백그라운드 작업이 완료되거나 UI가 취소되면 UI를 업데이트 할 수 있습니다.

작업에 UI 업데이트가 관련된 경우, AsyncTask를 사용하십시오.

관련 문제