마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2664)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(995)
이미지
(970)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
Background 서비스 질문입니다.
0
추천
안녕하세요.
안드로이드앱 개발중, 백그라운드 서비스에 대해서 궁금한 점이 있어서 글을 남깁니다.
다름이 아니라,
FCM처럼 백그라운드에서 소켓을 돌리려고 하는데..
구글링을 하여 "죽지않는 백그라운드 서비스" 같은 기술을 써도..
10~15분 정도 지나면 해당 백그라운드 서비스가 죽어버려서..난감한 상황 입니다.
이를 해결하기 위한 알고리즘이나, 방법이 있을런지요?
소중한 답변 기다리겠습니다.
안드로이드
background
lts0606
(
190
포인트)
님이
2018년 6월 4일
질문
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
1개의 답변
0
추천
채택된 답변
백그라운드 서비스는 사용자 의사와 상관없이 디바이스의 배터리를 많이 소모시키기 때문에
원칙적으로는 필요한 상황에서만 살아있고 바로 메모리에서 내려오는 것이 안드로이드 정책입니다.
따라서 안드로이드 OS는 서비스 스스로 종료되지 않으면 process 우선순위에 따라
일정시간 이후에 강제로도 서비스를 종료 시킵니다.
이 점을 피하려면 결국 서비스가 실행되는 process의 우선순위를 높여줘야 합니다.
정책적으로 서비스가 실행되는 process의 우선순위를 높이는 방법은
기본적으로 startForeground() API로 notification 영역에 service가 실행되고 있음을 사용자에게 인지시키는 방법입니다.
편법으로는 NotificationListenerService에 binding 시켜놓아도 OS에 의해 process가 kill 되지 않습니다.
디자이너정
(
42,810
포인트)
님이
2018년 6월 4일
답변
lts0606
님이
2018년 6월 5일
채택됨
비스무리한 소스코드를 구글링해서 사용했는데...17분정도 되니까
백그라운드 서비스로 돌리던 앱이 countDownTimer 활용해서 동작시키는데..onfinish와 함께 죽더라군요..
암튼, 답변 감사합니다.
Please
log in
or
register
to add a comment.
...