2012-03-02 3 views
4

В настоящее время я запрограммировал обычный Andorid-приложение (без обслуживания). Он содержит таймер для периодических проверок. Чтобы избежать проблем со службой и связью между Сервисом и Приложением, я спрашиваю себя, есть ли способ сохранить приложение, которое больше не находится на переднем плане. В настоящее время, когда я «закрываю» приложение, он все еще жив, пока ОС Android не решит его убить. Есть ли способ избежать этого убийства - например, по определенной команде в «onDestroy» или определенном флаге App? Мое приложение довольно сложно, и я не хочу реализовывать Сервис как это, особенно связь/привязка - увеличивает сложность. Есть ли «простой способ», или я действительно вынужден использовать Service + App? Может быть, есть трюк, чтобы зарегистрировать приложение для sth. который имеет побочный эффект, который ОС Android не убивает, когда он находится в фоновом режиме.Могу ли я сохранить Android-приложение в фоновом режиме?

Редактировать для лучшего понимания: это нормально, что графический интерфейс может идти в фоновом режиме (исчезает), когда пользователь этого хочет, поэтому мой вопрос заключается не в том, чтобы позволить графическому интерфейсу моего приложения постоянно находиться на переднем плане. Все, что я хочу, это то, что таймер остается нетронутым без необходимости в дополнительной услуге.

Спасибо всем за идеи заранее!

+0

Я наметил, как это сделать в этом посте: http://stackoverflow.com/questions/29799187/android-background-services-and-alarms/29800712#29800712. Он использует Сервис и обработчик. –

ответ

1

Я не думаю, что есть что-то подобное. Я предлагаю посмотреть на AlarmManager для периодических задач - это может означать, что вам не нужно будет пользоваться сервисом.

+1

Эта проблема должна быть решена с помощью службы и сигнализации, например, предлагаемой здесь. – Pyrodante

0

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

5

Android очень непредсказуем по характеру выбора убийства ОС и фрагментации рынка. Я бы не стал считать, что 100% на что-либо останется в живых, если это имеет решающее значение. Однако вы можете играть в азартные игры и быть довольно успешными. Это то, что помогло бы вам:

  1. Используйте очень хороший «Best Practices», чтобы сохранить свой струнный бассейн и кучу как минимум, как Android выглядит, чтобы убить свинья памяти первого выключение (и потому, что вы любите, что вы делаете).
  2. Добавьте постоянный атрибут в свой тег application manifest.
  3. Чтобы действительно помочь себе, запустить или запустить службу, потому что они длинные процессы, очень легкие (если они реализованы хорошо), и Android надеется убить их.
  4. Предоставьте приоритет обслуживания, запустив его как службу переднего плана.

Выполнение этих действий увеличит вероятность того, что Android не убьет ваше приложение.

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