suspend 개념
코루틴 안에서만 호출 가능한 함수
-> 이 작업은 오래 걸릴 수 있어요
-> 그래서 코루틴 안에서만 호출해야 합니다. (실제로도 코루틴 안에서 호출하지 않을 시 오류 발생)
-> 메인 스레드는 화면을 그리느라 바쁘다! -> 그래서 시간이 오래걸리는 요청과 같은 역할은 비동기로!
-> 코루틴 내부에서 실행 순서대로 해당 작업을 기다려 준다!
생각
이걸 보면서 콜백 함수가 생각이 났다. 콜백 함수의 경우 요청후 응답 후 실행할 일들을 내부에서 처리하도록 코드를 작성하는데 이는 가독성이 떨어지며 유지보수도 힘듦 suspend 키워드를 사용하여 코드를 작성시 비동기 코드를 더 읽고 쉽게 관리할 수 있을 것 같다는 생각이 들음 실제로도 프로젝트를 진행하면서 처음에는 콜백 방식을 사용하였지만 이후에는 suspend 함수를 사용하고 있다.
결론적으로 콜백이든 suspend든 결국 main스레드는 화면만을 담당하기에 기다려주지 않는 비동기를 원활하게 사용하기 위한 방식!
'Android > 이론' 카테고리의 다른 글
| 안드로이드 액티비티 라이프 사이클 (0) | 2024.04.08 |
|---|---|
| NetWork(네트워크) (1) | 2023.11.23 |
| [안드로이드] Activity Stack(액티비티 스택) singleTask (2) | 2023.11.20 |
| 안드로이드] Activity Stack(액티비티 스택) SingleTop (0) | 2023.11.16 |
| [안드로이드] Activity Stack(액티비티 스택) Standard (0) | 2023.11.14 |
댓글