참고>
AsyncTask : https://webnautes.tistory.com/1082
ProgressDialog : https://pnot.tistory.com/23
* 웹서비스 조회 시 progressDialog를 보여주기 위해 AsyncTask를 사용했다.
Error 메시지가 발생했을 때 작업을 멈추기 위해 return 과 함께 error 팝업을 보여줬는데
이때 앱이 죽는 현상이 생겨 AsyncTask를 다시 한번 공부했는데 참고한 블로그에서 좋은 내용을 얻었다.
* 앱의 모든 컴포넌트 (Activity, Service, Content Provider, BroadcastReceiver 등) 같은 Thread 내에서 실행 됌.
<동기(Sync), 비동기(Async)>
* 동기 : 학교 급식과 같이 순차적으로 일이 실행되므로 다른 일이 기다려야 함.
* 비동기 : 톨게이트 처럼 여러 여러 일을 처리하고 한 군데에서 관리를 함.
<AsyncTask 오류>
* 메모리 Leak
- 생성된 Activity가 먼저 destroy될 경우 Leak이 발생함. => Activity 사라지기 전에 AsyncTask cancel 해줘야 함. why? 메모리상에 없는 걸 참조하려고 하니까!!
- 회전 하는 순간 새로운 Activity 인스턴스가 생김. => 실행된 AsyncTask는 이전 Activity를 참조하려고 하니 메모리 Leak이 발생 함.
'Frontend > Android' 카테고리의 다른 글
[Android] 쉬운 디버깅 라이브러리 - Debot (0) | 2019.05.29 |
---|---|
[Android] 커스텀 폰트 라이브러리 - CalligraphyContextWrapper (0) | 2019.05.29 |
[Android] Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. (0) | 2018.11.30 |
[Git] git reset 후 push 충돌 날 때 (0) | 2018.10.16 |
[Android] 난독화 오류 (0) | 2018.08.20 |