나는 공식 안드로이드 문서를 읽은 그들은 바운드 서비스는 한 또 다른 응용 프로그램 구성 요소가 결합 그대로 실행바운드 서비스는 그 서비스로 묶인 마지막 활동이 파괴 될 때 파괴됩니까?
말한다.
따라서 본인은 해당 활동에서 활동이 있고 그 활동에서 서비스를 호출하면 활동이 파괴 될 때도 서비스가 파괴된다는 것을 알고 있습니다.
이 버튼은 뒤로 버튼을 누르고 애플리케이션을 종료 할 때 잘 작동합니다.
문제는 : 내가 활동에서 onDestroy()
콜백이 호출되는 화면을 회전하지만, 서비스에서 onDestroy()
콜백이 호출되지 않을 때 ...
공식 문서에서 계정에 위의 인용을 촬영 누군가 왜 이런 일이 일어 났는지 설명 할 수 있습니까?
해당 서비스로 묶인 활동은 하나뿐입니다.
아무도 그 서비스에서'startService()'를 호출하지 않으면, 마지막 클라이언트가 서비스로부터 언 바인딩되면 서비스는 파괴 될 것이다. 언제 어디서'unbindService()'를 호출합니까? – CommonsWare
서비스의 활동을 바인딩 해제 하시겠습니까? – DeeV
단순 : 너무 빠르기 때문에. 서비스는 더 이상 필요하지 않을 때 즉시 파괴되지 않습니다. 보통 그들은 짧은 시간 동안 계속 실행됩니다. 여기서 가장 중요한 부분은 독자적인 독립 라이프 사이클을 통해 완전히 다른 두 가지 구성 요소를 다루는 것입니다. 귀하의 활동이 파괴되는 것은 봉사에 아무런 의미가 없습니다. 문서에서 알 수있는 것은 클라이언트가 묶여있는 한 서비스가 파기되지 않는다는 것입니다. 그렇다고해서 클라이언트가 서비스와 함께 사망하지 않는 경우가 아닙니다. –