Android 4.4 AsyncTask 개선점..

안드로이드에서 제일 많이 사용하는 쓰레드 형태가 AsyncTask를 상속하는 구조이고, AsyncTask의 개선은 바로 전체적인 성능개선으로 이어질 가능성이 높다.

AsyncTask의 최신(4.4 KitKat) 버전과 이전(4.3 Jelly Bean)을 비교해 보자.

위 그림에서 최신버전의 180, 181줄의 코드를 확인해 보면, 디바이스의 CPU의 개수에 따른 최적화가 눈에 띈다.

    private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();
    private static final int CORE_POOL_SIZE = CPU_COUNT + 1;

하지만, 기존의 코드에서는 아래의 코드로 하드코드되어 있어서 CPU가 2개인 디바이스에서는 오히려 성능을 저하시킬 수도 있다.

private static final int CORE_POOL_SIZE = 5;

위의 코드가 간단해 보일지 모르겠지만, 자바에서 Concurrent 쓰레드 프로그래밍에서는 매우 중요한 포인트이다. 이 작은 포인트가 디바이스에 최적화된 코드중의 일부라고 보면 되겠다.

Android 4.4 AsyncTask 개선점..”에 대한 1개의 생각

답글 남기기

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