아래는 코모스튜디오가 직접 만든 무료 앱이에요(한 번만 봐주세요 ^^)
안드로이드 AsyncTask를 전역으로 쓴다면? 즉, 재활용 하겠다는 의미인데 가능 할까? 불가능하다! 만약 한 번 쓴 비동기 태스크를 재 활용 하려고 하면 아래문구를 보게 될 것이다.
java.lang.IllegalStateException: Cannot execute task: the task has already been executed (a task can be executed only once)
즉, 변수 이름은 재활용이 가능 하지만 다시 쓰려면 새로 할당을 받으라는 것이다. 당연한 것 아니겠나? 얼음 얼리는 통을 사서 물을 채우고 얼음을 얼려서 먹었는데, 다음 번에 얼음을 먹으려면 당연히 물을 다시 부어서 넣고 기다려야 먹을 수 있지 않겠는가? 그 당시 얼음 통과 얼음은 그 당시의 내 위장 속으로 들어가는데 사용 되었으니, 지금의 나는 지금의 내 위장 속으로 들어가는데 사용하기 위한 얼음통을 가져와서 다시 물을 채워야 한다는 거다.
즉, Async에게는 과거는 공유 할 수 없다는 것! 자신만의 시간과 공간의 영역이 있다는 것이 핵심이 아닐까라고 오늘도 초보 개발자는 머리를 끄적여 본다.
' [안드로이드 공부] > 동기화' 카테고리의 다른 글
안드로이드 비동기 태스크 the task has already been executed (0) | 2015.12.25 |
---|---|
[안드로이드] AsyncTask를 연속으로 사용할 때 문제점 (0) | 2015.11.11 |
비동기 작업은 아버지가 살아있을 때 해라! (0) | 2015.10.05 |
당신은 반드시 아이의 부모를 먼저 제거 해야 합니다? (0) | 2015.10.05 |
백그라운드 리소스를 비 동기 태스크에서 사용하기 (0) | 2015.10.05 |
모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다. |
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요. |