Подтвердить что ты не робот

Как проверить код, созданный для сохранения/восстановления жизненного цикла активности?

Как я могу проверить все следующие методы кода? Я хочу играть в сценарии, когда все они видят, работает ли мой код для сохранения/восстановления процесса. Итак, что мне делать в эмуляторе, чтобы проверить все методы?

public class Activity extends ApplicationContext {
     protected void onCreate(Bundle savedInstanceState);

     protected void onStart();

     protected void onRestoreInstanceState(Bundle savedInstanceState);

     protected void onSaveInstanceState(Bundle savedInstanceState);

     protected void onRestart();

     protected void onResume();

     protected void onPause();

     protected void onStop();

     protected void onDestroy();
 }
4b9b3361

Ответ 1

onCreate, onStart и onResume будут запускаться при запуске приложения, нет необходимости в дальнейшем взаимодействии. onPause, onStop и onDestroy будут работать при выходе из системы, например. несколько раз нажмите кнопку "Назад".

Чтобы протестировать onRestart, onSaveInstanceState и onRestoreInstanceState, после запуска приложения попробуйте нажать кнопку "Домой", запустив некоторые другие приложения, чтобы ваша активность была убита, а затем снова запустите приложение.

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

(Документация по жизненному циклу работы: http://developer.android.com/guide/topics/fundamentals.html#actlife)

Ответ 2

Если на вашем устройстве включено Параметры разработчика, есть опция Не выполнять действия, что поможет проверить onRestoreInstanceState().

Ответ 3

У нас возникла проблема, связанная с перезагрузкой приложения после длительного периода бездействия. Мы обнаружили, что "Не выполнять действия" не воспроизводит проблему, но Background process settings :: No background processes в настройках Dev (даже при отладке).

Ответ 4

Для тестирования onSaveInstanceState и onRestoreInstanceState вы можете использовать либо инструмент SetAlwaysFinish (см. ссылку ниже), либо приложение DevTools, включенное в эмулятор.

http://bricolsoftconsulting.com/how-to-test-onsaveinstancestate-and-onrestoreinstancestate-on-a-real-device/

Оба этих приложения используют скрытый параметр AlwaysFinish, который является частью класса ActivityManagerNative для изменения поведения ОС Android. В соответствии с новым поведением ОС будет выгружать любую активность, как только она покидает экран, вызывая событие onSaveInstanceState. Когда ОС захочет вернуть активность, она вызовет событие onRestoreInstanceState.

В приведенной выше ссылке объясняется, как использовать приложение SetAlwaysFinish для тестирования ваших приложений onSaveInstanceState и onRestoreInstanceState. Если вы хотите использовать DevTools, включите "Настройки разработки" > "Немедленно уничтожить действия".

Ответ 5

Есть еще один способ проверить эти события. Сначала вам нужно перейти к определенному действию, которое вы хотите проверить, затем нажмите кнопку "Домой" и перейдите на монитор устройства Android.

Местоположение монитора Android

Пример монитора Android-устройств

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