2011-01-07 2 views
0

В настоящее время я считаю, что я хорошо работаю над удаленным сервисом приложений. Когда я закончил использовать его, я вижу, что onDestroy() называется, совершенным ...Как изящно прекратить процесс удаленной службы?

Теперь проблема заключается в том, что я вижу, как удаленный процесс все еще висит, через DDMS или через запущенные процессы телефона. Пользователи видят это и думают, что я делаю что-то на заднем плане и т. Д. ... обвиняю мое приложение и спрашиваю о кнопке выхода ... Правда, им не нужна кнопка выхода!

Так что мой вопрос:

Как корректно завершить удаленный процесс обслуживания?

я мог бы получить PID и убить его, но что-то мне подсказывает, что это не может быть хорошим способом сделать это, так как сервис может быть перезапущен снова ...

Любая помощь будет apreciated!

-Jona

+0

Дайте им кнопку выхода. Сделайте его нерабочим. Тогда скажите им, что это ошибка Android, что он не вышел, когда нажал кнопку. :) – Qberticus

+0

lol ... Да, но я все о том, чтобы все работало правильно. Все, что мне нужно сделать, это удалить процесс, я закрываю службу просто отлично, но мне тоже нужно уйти ... :) – Jona

ответ

3

В настоящее время я считаю, что я делаю КИ работы управления моими приложениями удаленное обслуживания.

Простое решение: избавиться от удаленной службы. Если вы написали приложение и службу, то вам не нужно, чтобы она была удаленной. Единственный раз, когда вам нужно, чтобы он был удален, - это приложение и служба являются частью двух отдельных приложений.

Теперь проблема заключается в том, что я вижу, как удаленный процесс все еще висит, через DDMS или через запущенные процессы телефона.

Конечно.

Как изящно завершить процесс удаленной службы?

У вас нет. Android прекратит его, если и когда он захочет. Следовательно, простое решение состоит в том, чтобы избавиться от процесса удаленной службы, не имея в то же время удаленной службы.

+0

Спасибо за ответ. В настоящее время мое приложение является онлайн-потоковым приложением. Пожалуйста, поправьте меня, если я ошибаюсь, каким бы я ни был. Одному процессу в Android назначается объем памяти и процессор. Имея процесс потоковой передачи мультимедиа и другой процесс для пользовательского интерфейса, я считаю, что приложение будет чувствовать себя очень быстро. Ваша идея заставить все работать в одном процессе звучит неплохо, но не уверен в жизненном цикле процесса ... Было ли это каким-либо образом затронуто? Думаю, я мог бы прочитать больше об этом ...: P – Jona

+0

@Moto: «Имея процесс потоковой передачи мультимедиа и другой процесс для пользовательского интерфейса, я считаю, что приложение будет чувствовать себя очень эффектно». - на существующем оборудовании, что вызывает сомнения. С многоядерными устройствами это немного более вероятно, но я все же думаю, что фоновые потоки будут более чем достаточными. «Это будет затронуто в любом случае?» - Я не понимаю вопроса, извините. – CommonsWare

+0

Я думаю, что если жизненный цикл службы будет каким-либо образом затронут, если он работает в рамках одного и того же процесса активности. – Jona

Смежные вопросы