반응형
안드로이드, AsyncTask 의 cancel 에 대한 이야기. 변태야 ㅠ |
onPostExecute() 는 cancel 여부에 관계없이 불릴 줄 알았는데, 안드로이드 버전에 따라서 구현이 다르다.
Reference 를 보면 2.3.7 까지는
doInBackground 가 끝난 후 UI Thread 에서 불린다. 결과값은 doInBackground 의 return 값이며, cancel 이 되었을 때 혹은 exception이 발생하면 null 이 return 된다.
그러나 4.0.1 의 구현에서는..
doInBackground 가 끝난 후 UI Thread 에서 불린다. 결과값은 doInBackground 의 return 값이다. 만약 task 가 cancel 되면 이 함수는 불리지 않는다.
아직 세상에는 진저브레드를 사용하는 유저들이 매우많은데, 이 부분을 꼭 고려해주어야 하겠다. 이런 변태같은 경우가?!
그냥 그런가보다 하면 되는데 왜 변태냐구? 그건 현재 d.android.com 에 있는 reference 문서에는 이 차이가 설명되어 있지 않고 후자의 경우에 대해서만 설명되어 있기 때문.
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] bitmap 전환 fade in & fade out sample code (0) | 2013.08.19 |
---|---|
[Java] Thread 의 상태에 대한 이야기 (0) | 2013.08.19 |
[Java] 왜 InputStream 의 read() 는 byte 가 아닌 int 를 반환하는가? (0) | 2013.08.18 |
[android] 뷰가 그려지는 과정 ( 부모뷰 vs 자식뷰 ) (0) | 2013.08.17 |
[android] Animation 시 WebView Drawing 이 제대로 안 되는 현상. (2) | 2013.08.17 |
댓글