2012-07-05 3 views
0

문서 (ref : http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle)에 따르면 Android는 메모리 부족으로 인해 서비스가 자동으로 다시 시작됩니다. Android에서 서비스가 언제 어떻게 자동으로 다시 시작 되나요?

는 인용 :

참고이는 무거운 메모리 압력을 받고있는 경우 서비스가 실행되는 시간의 대부분은,이 시스템에 의해 살해 될 수 있음을 의미합니다. 이 경우 나중에 시스템이 서비스를 다시 시작하려고 시도합니다.

내 질문 : (1) 시스템이 다시 시작할 서비스를 어떻게 결정합니까? (2) "나중에"는 언제입니까?

+0

AFAIK, 어느 것도 문서화되지 않았으므로 아무런 가정을해서는 안됩니다. – CommonsWare

답변

0

Android의 프로세스는 계층 적 구조로 작동하므로 목록의 맨 위에있는 서비스가 먼저 다시 시작됩니다. 이는 활성 프로세스에도 적용되므로 실행중인 포 그라운드에서 프로세스가있는 경우 해당 포 그라운드 서비스가 목록 맨 위에 있으며 먼저 제거됩니다. 그것은 꽤 많은 스택입니다. 나는 더 높은 메모리 압력 하에서의 프로세스가 우선 순위로 움직 였다고 생각하지만 실제로 일어나는 것을보기 위해서는 짐승의 배를 봐야 할 것입니다.

관련 문제