1

У меня есть приложение для Android с несколькими уровнями активности. 1-й уровень - MainActivity.java, 2-й уровень - ListActivity.java, 3rd - DetailActivity.java. Просто нормальная структура активности, как и другие приложения для Android.Android mainactivity kill, subactivities is not

Когда пользователь перешел к 3-му действию и покидает приложение, приложение переходит на задний план. Несколько дней нормального использования телефона (с приложением еще в фоновом режиме), нажав на приложение из «последних приложений» меню 2 вещи иногда бывает:

Поведение:

  1. Резюме 3-й активности (DetailActivity.java), но когда вы нажимаете назад, предыдущие действия также перезапускаются/воссоздаются.
  2. Открывает 1-активность (иногда MainActivity.java) приложения (без истории деятельности, как перезапустить приложение свежее)

Это происходит потому, что операционная система должна память и для того, чтобы освободить память, необходимые для убить неиспользуемую память. Умышленное получение 1-го поведения или 2-й очень трудно сделать.

Вопрос/Проблема:

Как или вы можете перезапустить все приложения (запуск MainActivity.java) всякий раз, когда один суб активности убита или мусор? Можно ли указать, что приложение должно всегда выполнять второе поведение?

+1

Это сложно. Я не уверен, что я попытаюсь это сделать. Вместо этого вы должны попытаться сохранить состояние активности через onSaveInstanceState/onRestoreInstanceState. –

+0

«Проблема», которую вы описываете, - это нормальное, ожидаемое поведение. –

+0

У меня смутное воспоминание о том, что количество времени, оставшегося до постоянного состояния, отбрасывается из фоновых приложений, является настройкой для всего устройства, так как может быть 4.4 или 5.0. Мой google-fu сегодня слаб. –

ответ

0

Установить android:clearTaskOnLaunch="true" на <activity> определение для корня Activity (одно с CATEGORY = LAUNCHER и ACTION = MAIN) в манифесте.