2 댓글 	 안드로이드 에서 우측 의 GridView 의 썸 네 일 들 을 API 서버 에서 받 아 온다고 가정 을 합니다 . API 서버 를 통해서 각 썸 네 일 을 가져오 려면 , 보통 은 Adapter 의 getView ( ) 메 쏘 드 에서 썸 네 일 을 가져오 는 AsyncTask 를 순서 대로 실행 을 할 것 입니다 . 순서 대로 FIFO 의 구조 로 . . 그렇지만 , 터치 를 해서 두 번 정도 만 아래 로 내려도 , FIFO 구조 가 좋 지 않 은 것 은 자명 한 일리 겠 죠 . . 화면 에 보이 지 도 않 는 썸 네 일 을 가져오 는 쓰레드 가 Background 로 돌 고 있 겠 죠 . . 그래서 , LIFO 구조 로 AsyncTask 를 디스 패 칭하 는 넘 을 만들 어 봤 습니다 . . 많 은 썸 네 일 을 보여 주 기 위해서 는 , 보통 페이징 을 합니다 . 썸 네 일 을 보 려고 , 빠르 게 터치 해서 이동 하 다 보 면 , 쓰레드 가 많이 생기 게 마련 이 고 , 이런 경우 에 쓰레드 응답 문제 로 앱 이 죽 을 수 있 습니다 . . 물론 , THREAD _ POOLING 을 이용 하 는 EXECUTOR 를 사용 한다고 해도 , AsyncTask 의 과 도 한 큐 잉 으로 인해서 죽 을 수 도 있 습니다 . . 그래서 , AsyncTask 를 중간 에 큐 잉 ( 화면 에 나오 지 않 을 넘 들 까지 큐 잉 할 필요 는 없 다고 생각 함 ) 을 하 고 , AsyncTask 를 디스 패 칭 ( 엄밀히 말 하 면 , Executor 에 넘겨 주 는 . .) 을 담당 하 는 매니저 를 두 는 것 으로 간단 하 게 해결 을 합니다 . 디스 패 칭 을 담당 하 는 클래스 는 기본 적 으로 DEQUE 를 사용 해서 LIFO 구조 의 QUEUE 를 사용 합니다 . . 참고 로 , 구현 된 코드 의 일부 만 발췌 를 했 기 때문 에 , 아래 의 코드 는 컴파일 이 안 됩니다 . . 필요 한 부분 은 적당 한 수정 과 추가 가 필요 합니다 . . 
 / / 실행 중 인 Task 가 20 개 가 넘 으면 wait 을 한다 . if ( runningTask . intValue ( ) > 20 ) 
 LIFO 구조 의 AsyncTask 디스 패 칭 을 실행 하 는 방법 은 , 위 의 GetThumbnailTask 를 Adapter 에서 생성 해서 AsyncTaskDispatcher 에 추가 만 하 면 됩니다 . 이 글 은 Android 카테고리 에 분류 되 었 고 Android , AsyncTask , AsyncTask Dispatcher , Lifo , 안드로이드 태그 가 있 으며 mcsong 님 에 의해 2012 년 9 월 8 일 에 작성 되 었 습니다 . 	 글 네 비게 이 션 
 ← 빠른 안드로이드 에뮬레이터 이용 하 기 . . 
 Android 3 . x ( Honeycomb ) 기반 의 앱 에서 SplitActionBar 를 추가 하 기 . . → 
 “ LIFO 구조 의 AsyncTask 디스 패 칭 구현 하 기 . .” 에 대한 2 개 의 생각 	 카베 2013 년 4 월 3 일 9 : 02 오전 	 안녕 하 세요