Можно ли перенаправить или перенаправить фильтр сервлета после подтверждения ответа?

Логика состоит в том, что фильтр срабатывает, условие не выполняется, поэтому он проходит через цепочку фильтров. После ответ фиксируется, фильтр срабатывает, и условие теперь выполняется (атрибут запроса был установлен). Он входит для выполнения пересылки, но страница никогда не переходит. Мое устройство - Nexus One с 2.2, и я протестировал два проекта, один на 1.5 и один на 2.1. Проблема: У меня проблемы с пониманием жизненного цикла моего приложения, когда экран ...

Информация: Мое устройство - Nexus One с 2.2, и я протестировал два проекта, один на 1.5 и один на 2.1.

Проблема: У меня проблемы с пониманием жизненного цикла моего приложения, когда экран выключен и включен.

Вот мой вывод

// activity starts
08-04 17:24:17.643: ERROR/PlayActivity(6215): onStart executes ...
08-04 17:24:17.643: ERROR/PlayActivity(6215): onResume executes ...
// screen goes off
08-04 17:24:28.943: ERROR/PlayActivity(6215): onPause executes ...
08-04 17:24:32.113: ERROR/PlayActivity(6215): onStop executes ...
08-04 17:24:32.113: ERROR/PlayActivity(6215): onDestroy executes ...
08-04 17:24:32.983: ERROR/PlayActivity(6215): onStart executes ...
08-04 17:24:32.983: ERROR/PlayActivity(6215): onResume executes ...
08-04 17:24:32.983: ERROR/PlayActivity(6215): onPause executes ...
// screen goes on
08-04 17:24:47.683: ERROR/PlayActivity(6215): onResume executes ...
// lock removed
08-04 17:24:56.943: ERROR/PlayActivity(6215): onPause executes ...
08-04 17:24:59.663: ERROR/PlayActivity(6215): onStop executes ...
08-04 17:24:59.663: ERROR/PlayActivity(6215): onDestroy executes ...
08-04 17:25:00.943: ERROR/PlayActivity(6215): onStart executes ...
08-04 17:25:00.943: ERROR/PlayActivity(6215): onResume executes ...

Я полностью сбит с толку. Зачем возобновлять активность, когда экран выключается? И зачем останавливать и перезапускать его снова, когда экран уже включен и снята только блокировка?

Чтобы убедиться, что я не сделал ничего плохого, я создал новый проект только с этим действием. Вывод идентичен ...

public class LifeCycleTest extends Activity {

    private final static String DEBUG_TAG = "FirstLifeLog";

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.e(DEBUG_TAG, "onCreate executes ...");
        setContentView(R.layout.main);
    }

    protected void onRestart() {
        super.onRestart();
        Log.e(DEBUG_TAG, "onRestart executes ...");
    }

    protected void onStart() {
        super.onStart();
        Log.e(DEBUG_TAG, "onStart executes ...");
    }

    protected void onResume() {
        super.onResume();
        Log.e(DEBUG_TAG, "onResume executes ...");
    }

    protected void onPause() {
        super.onPause();
        Log.e(DEBUG_TAG, "onPause executes ...");
    }

    protected void onStop() {
        super.onStop();
        Log.e(DEBUG_TAG, "onStop executes ...");
    }

    protected void onDestroy() {
        super.onDestroy();
        Log.e(DEBUG_TAG, "onDestroy executes ...");
    }
}

У кого-то есть идея?

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

// activity starts
08-09 12:14:03.122: ERROR/FirstLifeLog(15406): onCreate executes ...
08-09 12:14:03.132: ERROR/FirstLifeLog(15406): onStart executes ...
08-09 12:14:03.132: ERROR/FirstLifeLog(15406): onResume executes ...
// screen off
08-09 12:14:07.412: ERROR/FirstLifeLog(15406): onPause executes ...
// screen on
08-09 12:14:11.722: ERROR/FirstLifeLog(15406): onResume executes ...
// no log for removed screen lock
21
задан Alexander Abakumov 7 August 2017 в 15:39
поделиться

2 ответа

См. Документацию Жизненный цикл деятельности для хорошего описания жизненного цикла с диаграммами.

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

-2
ответ дан 29 November 2019 в 21:16
поделиться

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

0
ответ дан 29 November 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: