2014-09-09 3 views
0

Мне нравится проверять свои приложения с проверкой «не продолжать», чтобы убедиться, что все работает в худшем случае, когда Android уничтожает мои вещи. Сегодня я заметил, что этот параметр, по-видимому, может (и, как правило, делает) приводить к уничтожению всего моего приложения после того, как я запускаю неявное намерение навигации. Это проблема, потому что первоначальный разработчик поставил кучу важных фоновых задач в расширенном Application вместо того, чтобы использовать Service, что Android будет с большей вероятностью поддерживать жизнь, когда приложение находится в фоновом режиме.Приложение убито после запуска неявного намерения

С проверкой «не выполнять действия» все мое приложение, похоже, будет убито, когда начнется действие навигации. Я больше не вижу записи из фоновых задач, и когда я возвращаюсь к активности, которая запустила навигацию, она воссоздается с новым, неинициализированным Application. Я не могу просто повторно инициализировать его, потому что основная проблема заключается в том, что задачи должны работать, пока мое приложение находится в фоновом режиме.

Я явно не начинать навигацию в новой задаче:

String encoded = Uri.encode(nextWaypoint); 
Intent navigation = new Intent(Intent.ACTION_VIEW, Uri.parse("google.navigation:q=" + encoded)); 
startActivity(navigation); 

Есть возможность моего Application быть уничтожены, как неизбежное, как возможность моей деятельности разрушается?

ответ

1

Ваш Application будет уничтожен, если нет компонента, использующего процесс, в котором был запущен ваш Application. Так как опция «не сохранить Activities» убьет ваш Activity, когда вы перейдете от него, и у вас нет другого компонента, использующего ваш процесс, ваш Application будет прерван.

Идя, что вы описываете, ваш безопасный выбор, чтобы переместить свои задачи в Service

+0

* вздохнув * Это то, что я боялся. Этот продукт довольно близок к EOL, поэтому, может быть, я могу уйти со стартами «Сервис» ... –

+0

Это может работать как временное решение ... – Emmanuel

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