woong's

Android AsyncTask 병렬처리 하기 본문

Develop/Android

Android AsyncTask 병렬처리 하기

dlsdnd345 2016. 2. 14. 00:26

Android AsyncTask 병렬처리 하기


안녕하세요 . 오늘은 Android AsyncTask 병렬처리에 대해 말씀드리겠습니다 .


현재 스마트 TV 컨버젼스를 진행하면서 polling 을 사용하는데 

polling 이 진행되는 상태에서 다른 액션을 진행하면 진행이 안되는 현상을 발견하게 되었습니다 .


바로 Android AsyncTask 가 기본적으로 직렬 처리를 하고 있기 때문이였습니다 .



Android HoneyComb 이전에는 병렬처리가 자동으로 처리가 됩니다 .

하지만 Android 측에서 병렬처리로 인한 문제들이 많이 생겨서 

HoneyComb  부터 다시 직렬처리로 AsyncTask 를 변경하였습니다 .


그래서 HoneyComb  이상부터는 병렬처리를 하기 위해서는 아래와 같은 

코드를 통해서 병렬처리를 진행해야 합니다 .


1
2
3
4
5
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
            new ReciveTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
        } else {
            new ReciveTask().execute();
        }

 

 

 


Comments