Nuke Olaf - Log Store

[Android] 안드로이드 - Thread, Service, AsyncTask 의 차이점 본문

Android

[Android] 안드로이드 - Thread, Service, AsyncTask 의 차이점

NukeOlaf 2019. 12. 30. 17:33

https://medium.com/@varun93342/difference-between-thread-service-and-asynctask-in-android-d6e37960e56c

 

Difference Between Thread, Service, and AsyncTask in Android

Service

medium.com

쓰레드, 서비스, 에이싱크 테스크는 다 비슷비슷해 보이고 헷갈리는 개념이라 차이를 확실히 정리하고 넘어가는 게 좋을 거 같다.

Thread : 작업을 동시에 실행할 수 있는 클래스이다. Thread 를 상속받거나, Runnable 을 구현하여 사용할 수 있다. 쓰레드는 일반적으로 긴 작업을 수행하는 데 사용한다. 쓰레드는 수동으로 관리해야 하기 때문에 관리가 어렵고 코드를 읽기 어려워 질 수 있다는 단점이 있다.

Service : 서비스는 백그라운드에서 실행시간이 긴 작업을 수행하며, 사용자 인터페이스를 제공하지 않는 어플리케이션 구성요소이다. UI 가 없는 작업이긴 하지만, 작업시간이 너무 길지 않아야 하며, 긴 작업이 필요하다면 서비스 내에서 스레드를 사용해야 한다.

AsyncTask : 비동기 작업을 백그라운드 스레드에서 실행하고 결과가 UI 스레드에 게시되게 하는 데 사용되는 클래스이다. 스레드나 핸들러를 조작하지 않고도 UI 스레드를 적절하고 쉽게 사용할 수 있다. 메인 스레드와 통신해야 하는 작업에 사용하며, 핸들러와 달리 무조건 메인 스레드에서 생성하고 실행해야한다.

 

Comments