Nuke Olaf - Log Store
[Android] 안드로이드 - Thread, Service, AsyncTask 의 차이점 본문
쓰레드, 서비스, 에이싱크 테스크는 다 비슷비슷해 보이고 헷갈리는 개념이라 차이를 확실히 정리하고 넘어가는 게 좋을 거 같다.
Thread : 작업을 동시에 실행할 수 있는 클래스이다. Thread 를 상속받거나, Runnable 을 구현하여 사용할 수 있다. 쓰레드는 일반적으로 긴 작업을 수행하는 데 사용한다. 쓰레드는 수동으로 관리해야 하기 때문에 관리가 어렵고 코드를 읽기 어려워 질 수 있다는 단점이 있다.
Service : 서비스는 백그라운드에서 실행시간이 긴 작업을 수행하며, 사용자 인터페이스를 제공하지 않는 어플리케이션 구성요소이다. UI 가 없는 작업이긴 하지만, 작업시간이 너무 길지 않아야 하며, 긴 작업이 필요하다면 서비스 내에서 스레드를 사용해야 한다.
AsyncTask : 비동기 작업을 백그라운드 스레드에서 실행하고 결과가 UI 스레드에 게시되게 하는 데 사용되는 클래스이다. 스레드나 핸들러를 조작하지 않고도 UI 스레드를 적절하고 쉽게 사용할 수 있다. 메인 스레드와 통신해야 하는 작업에 사용하며, 핸들러와 달리 무조건 메인 스레드에서 생성하고 실행해야한다.
'Android' 카테고리의 다른 글
[Android] 안드로이드 - 이미지 움직일 때 애니메이션 넣기 (0) | 2020.01.01 |
---|---|
[Android] 안드로이드 - AsyncTask 예제 사이트 링크 (0) | 2019.12.30 |
[Android] 안드로이드 - AsyncTask 란? (0) | 2019.12.30 |
[Android] 안드로이드 - 시간을 측정하는 방법 (Chronometer 위젯) (0) | 2019.12.29 |
[Android] 안드로이드 - 핸들러로 Message 와 Runnable 을 보내는것의 차이 (0) | 2019.12.29 |
Comments