티스토리 뷰

반응형

  1. Android Service란?


UI없이 백그라운드에서 동작하는 컴포넌트



  2. Android Service의 필요성 및 예시 


액티비티가 종료되어 있는 상태에서도 동작하기 위해!


강력한 예시로 평소에 폰에서 음악을 재생 했을때, 액티비티가 종료되어있는 상태일때도 음악이 재생되는 것을 이미 알고 있을 것이다.

 사용 예시

  음악재생, 네트워크 통신




  3. Android Service의 2가지 종류


안드로이드에서 서비스는 두 가지 종류가 있는데 다음과 같다.

startService()


  한번 시작을 하게되면 백그라운드에서 무한 실행된다

  보통 작업이 완료되면 스스로 종료됨


bindService()


  클라이언트/서버와 아주 유사하게 동작


  액티비티 --(요청)--> 서비스 --(결과값 반환)--> 액티비티

  웹에서 봤을때 액티비티는 클라이언트가 되고 서비스는 웹서버가 되는 느낌!? 




  4. 주의사항 및 팁!? 


- 서비스는 백그라운드에서 실행되기 때문에 무한루프나 네트워크 통신과 같은 코드를 맘껏 작성할 수 있을 것 같지만 서비스 또한 메인스레드에서 동작하기 때문에 CPU자원을 많이 소모하거나 네트워크 통신과 같은 시간이 오래 걸리는 작업을 하려면 스레드를 생성해서 처리해야 한다.


- 액티비티가 실행 중일때만 사용되는 기능이라면 서비스를 사용하지않고 액티비티에서 스레드를 사용하는게 맞다.(무리하게 서비스를 사용하진 말자!)


- 서비스도 4대 컴포넌트이기 때문에 사용하려면 메니페스트 파일에 선언해주어야 한다.






 

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함