[안드로이드] 네트워크-Async
Async는 deprecated되서 지금은 사용하지 않지만, 일단 정리해두겠음.
코루틴을 따로 공부해 또 정리 하겠음.
비동기 - Async
동기 - Sync
동기 - 작업을 순서대로 진행한다
a->b->c
윗줄부터 아래줄로 실행
비동기 - 쓰레드를 만들어서 작업을 따로 처리한다
결과를 받음
--------------------------------------------->
----------^
작업
안드로이드 async 다루는 방법
AsyncTask를 상속받는다
-onPreExcute : 쓰레드 출발하기 전에 할 작업
-doInBackground : 쓰레드가 할 작업
-onProgressUpdate : 작업하는 중간중간에 메인쓰레드에게 작업현황을 알려줌
-onPostExcute : 작업을 마치고 메인쓰레드로 돌아옴
Async 장점
- 메인쓰레드를 기다리게 할 필요 없음
- 네트워크 작업 할 때 유용함
Async 단점
재사용 불가 // 지금도 클릭 할 때마다 만들어지도록 구현되어있음
구현된 액티비티가 종료 될 경우 따라서 종료되지 않는다 // 액티비티를 벗어 날 때 async 정지를 구현 시켜야함
async task는 하나만 실행될 수 있다. // 첫번째 async 작업이 끝 날 때 까지 두번째 async 작업은 대기한다. 병렬처리가 안된다. 동시에 실행할 수 x
Author And Source
이 문제에 관하여([안드로이드] 네트워크-Async), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nagosooo/안드로이드-네트워크-Async저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)