본문 바로가기

공부/안드로이드

[Android] AsyncTask를 .execute()로 실행해도 안되는 경우

반응형

https://calvinjmkim.tistory.com/49

 

안드로이드 AsyncTask의 doInBackground 호출 안됨

AsyncTask를 사용하던 중 doInBackground()가 호출이 되지 않는 상황을 겪게 되었다. 복잡한 앱이 아닌 단순 클릭킹 프로토타입을 만들던 중에 일어난 일이라 황당할 따름이었다. 대략 화면을 터치하면

calvinjmkim.tistory.com

 

해결방법은 위블로그에서 찾았습니다.

 

3줄요약

1. .execute()로 하면 같은 쓰레드 풀에서 돌아간다.

2. 그래서 만약 AsyncTask가 처리될때까지 기다리도록 코드를 처리하면 뒤에 생성된 AsyncTask는 실행조차 되지 않는다.

3. .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR) 함수를 이용해 서로 다른 쓰레드풀을 사용하도록 하면 해결된다.

반응형