2011-01-07 7 views
0

현재 저는 응용 프로그램 원격 서비스를 관리하는 일을 잘하고 있다고 생각합니다. 내가 그것을 사용하여 끝났을 때 나는 완벽한 호출 된 onDestroy()를 볼 수있다 ...원격 서비스 프로세스를 정상적으로 종료하는 방법은 무엇입니까?

이제는 DDMS 나 전화의 실행중인 프로세스를 통해 원격 프로세스가 여전히 멈추는 것을 볼 수있다. 사용자는 이것을보고 배경 등에서 물건을 만들고 있다고 생각합니다. 내 앱을 비난하고 이탈 버튼을 묻는 것보다 ... 진실은 exit 버튼이 필요 없다는 것입니다.

그래서 제 질문은 :

어떻게 정상적으로 원격 서비스 프로세스를 종료하려면?

나는

이 어떤 도움을 크게 apreciated 될 것이다 ... PID를 얻을 죽일하지만 뭔가 서비스가 다시 재시작 될 수 있기 때문에이 작업을 수행 할 수있는 좋은 방법이 될하지 않을 수 있습니다 날이 알 수 있습니다! -Jona

+0

종료 버튼을 제공하십시오. 그것을 비 작동으로 만듭니다. 그런 다음 버튼을 눌렀을 때 종료되지 않았다고 Android의 잘못이라고 알립니다. :) – Qberticus

+0

lol ... 네,하지만 저는 모든 것이 올바르게 작동하는 것에 관한 것입니다. 내가 할 필요가있는 것은 프로세스를 제거하는 것이다. 나는 서비스를 정상적으로 종료하고 있지만, 너무 멀리 가야한다. :) – Jona

답변

3

현재 나는 내 응용 프로그램을 원격 서비스를 관리하는 확인 작업을하고 있어요 생각합니다.

간단한 해결책 : 원격 서비스를 제거하십시오. 당신이 앱과 서비스를 쓴다면, 당신은 그것을 원격으로 할 필요가 없다. 앱과 서비스가 두 개의 개별 앱에 속하는 경우에만 원격으로 사용해야합니다.

이제는 원격 프로세스가 여전히 DDMS 또는 전화의 실행 프로세스를 통해 걸려있는 것을 볼 수 있습니다.

물론.

정상적으로 원격 서비스 프로세스를 종료하는 방법은 무엇입니까?

그렇지 않습니다. 안드로이드는 그것을 원할 때 종료 할 것이다. 따라서 간단한 해결책은 처음에는 원격 서비스가 없기 때문에 원격 서비스 프로세스를 제거하는 것입니다.

+0

답장을 보내 주셔서 감사합니다. 현재 내 응용 프로그램은 온라인 스트리밍 응용 프로그램입니다. 내가 틀렸다면 나를 교정 해주세요. Android의 한 프로세스에 메모리와 CPU가 할당됩니다. 미디어 스트리밍을위한 프로세스와 UI를위한 다른 프로세스를 가짐으로써 애플리케이션이 더 신속하게 느껴질 것이라고 믿습니다. 하나의 프로세스에서 모든 프로세스가 실행되도록하는 아이디어는 좋지만 프로세스 수명주기에 대해서는 확신 할 수 없습니다 ... 어떤 식 으로든 영향을 받습니까? 나는 그것에 대해 더 많은 내용을 읽을 수있을 것이라고 생각합니다. : P – Jona

+0

@Moto : "미디어 스트리밍을위한 프로세스와 UI를위한 다른 프로세스를 가짐으로써 응용 프로그램이 더 빠르게 느껴질 것입니다." - 기존 하드웨어에 대해서는 의문의 여지가 있습니다. 멀티 코어 장치에서는 좀 더 가능성이 있지만 백그라운드 스레드가 충분하다고 생각합니다. "어떤 식 으로든 영향을받을 것인가?" - 나는 그 질문을 이해하지 못한다. 미안하다. – CommonsWare

+0

활동의 동일한 프로세스 내에서 실행되는 경우 서비스의 수명주기가 어떤 식 으로든 영향을 받는지 여부를 결정합니다. – Jona

관련 문제