Async는 deprecated되서 지금은 사용하지 않지만, 일단 정리해두겠음.
코루틴을 따로 공부해 또 정리 하겠음.
비동기 - Async
동기 - Sync
동기 - 작업을 순서대로 진행한다
a->b->c
윗줄부터 아래줄로 실행
비동기 - 쓰레드를 만들어서 작업을 따로 처리한다
결과를 받음
--------------------------------------------->
----------^
작업
AsyncTask를 상속받는다
-onPreExcute : 쓰레드 출발하기 전에 할 작업
-doInBackground : 쓰레드가 할 작업
-onProgressUpdate : 작업하는 중간중간에 메인쓰레드에게 작업현황을 알려줌
-onPostExcute : 작업을 마치고 메인쓰레드로 돌아옴
재사용 불가 // 지금도 클릭 할 때마다 만들어지도록 구현되어있음
구현된 액티비티가 종료 될 경우 따라서 종료되지 않는다 // 액티비티를 벗어 날 때 async 정지를 구현 시켜야함
async task는 하나만 실행될 수 있다. // 첫번째 async 작업이 끝 날 때 까지 두번째 async 작업은 대기한다. 병렬처리가 안된다. 동시에 실행할 수 x