Android Service와 Thread 차이

박영호·2023년 5월 15일

Service (서비스)

  • 대부분 UI없이 백그라운드에서 실행
  • 메인 스레드에서 실행됨
  • 안드로이드 4대 컴포넌트중 하나이다.
  • 서비스는 백그라운드에서 실행되며 자체적인 생명주기를 가진다

Thread (스레드)

  • 백그라운드 프로세스를 수행할 수 있는 OS수준의 기능
  • 자체적인 스레드에서 실행됨
  • 경량 프로세스이며 안드로이드 컴포넌트는 아니다.
  • 자체적인 생명주기가 없으며 액티비티 생명주기가 실행되면 실행되고 액티비티가 파괴되면 같이 종료(중지)된다.

안드로이드 앱 개발에서 스레드(Thread)와 서비스(Service)는 모두 백그라운드 작업과 동시성 관리를 위해 중요한 구성 요소이다. 그러나 두 가지 요소는 각기 다른 목적을 가지며, 적절한 상황에 맞게 사용해야 한다.

스레드는 가벼운 작업을 동시에 실행하기 위한 안드로이드 운영체제의 핵심 요소이다. 메모리 공간과 자원을 공유하기 때문에 통신이 간단하며, UI 업데이트, 네트워크 요청, 계산적으로 복잡한 작업 등 짧은 작업에 적합하다.
반면 서비스는 사용자가 앱과 상호작용하지 않을 때도 백그라운드에서 실행할 수 있는 구성 요소이며, 음악 재생, 파일 다운로드, 알림 처리 등 오래 걸리는 작업에 적합하다.

profile
무언가에 호기심이 생기면 적극적이고 재밌게 그걸 해결해내고 싶어하는 프론트 엔드 개발자 입니다 .

0개의 댓글