안드로이드 7.0 AsyncTask 개선점

안드로이드 7.0 누가(NOUGAT)에서 AsyncTask의 개선 점을 살펴보자. 안드로이드 6.0 AsyncTask 소스와 7.0 소스의 차이를 확인(Diff)해 보면, 아래 화면에서 보는 2가지 정도의 차이가 있다. 차이를 살펴보면 다음과 같다.

1. 작업을 처리하는 스레드의 상수 수정.

코드를 살펴보면, CORE_POOL_SIZE와 KEEP_ALIVE의 값이 수정된 것을 확인할 수 있다. CORE_POOL_SIZE가 주석에서 보다시피 2~4개 유지하게 변경했고, 작업 처리 스레드의 종료시기를 늦추는 것을 알 수 있다.

2. ThreadPoolExecutor 수정.

ThreadPoolExecutor는 작업을 처리하는 여러 스레드를 유지하고, 작업을 큐로 유지하는 디스패처이다. 아래는 위에서 변경한 상수로 ThreadPoolExecutor를 생성하는 예제로, 작업이 추가되지 않는다면 30초 뒤에 스레드 풀의 스레드를 종료시킨다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.