프로그래밍/안드로이드
안드로이드 서비스(Service) 기초
강남리치
2017. 9. 29. 04:12
반응형
1. Android Service란? |
UI없이 백그라운드에서 동작하는 컴포넌트
2. Android Service의 필요성 및 예시 |
액티비티가 종료되어 있는 상태에서도 동작하기 위해!
강력한 예시로 평소에 폰에서 음악을 재생 했을때, 액티비티가 종료되어있는 상태일때도 음악이 재생되는 것을 이미 알고 있을 것이다.
사용 예시 |
음악재생, 네트워크 통신 |
3. Android Service의 2가지 종류 |
안드로이드에서 서비스는 두 가지 종류가 있는데 다음과 같다.
startService() |
한번 시작을 하게되면 백그라운드에서 무한 실행된다 보통 작업이 완료되면 스스로 종료됨 |
bindService() |
클라이언트/서버와 아주 유사하게 동작 액티비티 --(요청)--> 서비스 --(결과값 반환)--> 액티비티 웹에서 봤을때 액티비티는 클라이언트가 되고 서비스는 웹서버가 되는 느낌!? |
4. 주의사항 및 팁!? |
- 서비스는 백그라운드에서 실행되기 때문에 무한루프나 네트워크 통신과 같은 코드를 맘껏 작성할 수 있을 것 같지만 서비스 또한 메인스레드에서 동작하기 때문에 CPU자원을 많이 소모하거나 네트워크 통신과 같은 시간이 오래 걸리는 작업을 하려면 스레드를 생성해서 처리해야 한다.
- 액티비티가 실행 중일때만 사용되는 기능이라면 서비스를 사용하지않고 액티비티에서 스레드를 사용하는게 맞다.(무리하게 서비스를 사용하진 말자!)
- 서비스도 4대 컴포넌트이기 때문에 사용하려면 메니페스트 파일에 선언해주어야 한다.
반응형