onPause / Resume / Start / Stop order

1

Im пытается обнаружить глобальное приложение onPause. Для этого я регистрирую каждый вызов Activity onResume, onPause, onStop. Я хотел бы знать, могу ли я принять вызывающий порядок (когда ActivityA уходит и входит в ActivityB) всегда:

A ->onPause;
B ->onStart;
B ->onResume;
A ->onStop;

Есть ли случай, когда A-> onStop вызывается перед B-> onResume?

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

 onPause(){
     active=false;
 }

 onResume(){
     active=true;
 }

 onStop(){
    if(!active) onGlobalPause();
 }

благодаря

  • 0
    Попробуйте поставить некоторый трудоемкий код в onCreate и onStart в Activity B в качестве эксперимента. Возможно, даже Thread.sleep(3000) в каждом - не рекомендуется для производственного кода, но стоит попробовать в тестовых целях.
Теги:

1 ответ

2
Лучший ответ

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

  • 0
    Да, на диаграмме объясняется, когда вызывается каждый обратный вызов, но не в каком порядке между вызовами двух действий, когда одно входит, а другое уходит (я проверил, что я говорю в ответном сообщении, и это всегда происходит в таком порядке, но может быть уверен, что могу предположить это без шансов на ошибку)
  • 0
    Чтобы ответить на ваш конкретный вопрос, вы не можете принять определенный порядок, когда одно действие уходит, а другое входит. Это связано с тем, что на телефоне может происходить много вещей, и я сначала отключаю одно действие, либо когда оно в фоновом режиме, либо вообще не закрывает его. Дизайн должен соответствовать этому.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню