Лекция 2. activity

Post on 15-Jun-2015

573 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Жизненный цикл Activity. Основные callback-методы. Back Stack.

TRANSCRIPT

Activity

Жизненный цикл Activity.Back Stack.

21:51 2 из 29

Activity. Основные состояния

21:51 3 из 29

Activity. Основные состояния

Activity запущена и видна пользователю. Пользователь

взаимодействует с Activity

21:51 4 из 29

Activity. Основные состояния

Activity частично скрытаот пользователя: отображается

диалоговое окно, перекрываетсяполупрозрачной activity.

21:51 5 из 29

Activity. Основные состояния

Activity полностью скрытаот пользователя. Никакой код

activity не исполняется.

21:51 6 из 29

Activity. Основные состояния

21:51 7 из 29

Activity. Основные callback-методы

● onCreate() - вызывается единожды, при создании activity. Обычно, создает интерфейс и инициализирует поля класса activty.

21:51 8 из 29

Activity. Основные callback-методы

● onPause() - первый признак того, что activity может быть закрыта. Необходимо остановить все ресурсоёмкие процессы и освободить ресурсы (приостановить видео, остановить камеру, ...).

21:51 9 из 29

Activity. Основные callback-методы

● onResume() - вызывается каждый раз, когда activity становится видимой пользователю. Необходимо инициализировать переменные, освобожденные в onPause(), а также другие инициализации (анимация, доступ к ресурсам, ...)

21:51 10 из 29

Activity. Основные callback-методы

@Overridepublic void onPause() { super.onPause(); // Always call the superclass method first

// Release the Camera because we don't need it when paused // and other activities might need to use it. if (mCamera != null) { mCamera.release() mCamera = null; }}

21:51 11 из 29

Activity. Основные callback-методы

@Overridepublic void onPause() { super.onPause(); // Always call the superclass method first

// Release the Camera because we don't need it when paused // and other activities might need to use it. if (mCamera != null) { mCamera.release() mCamera = null; }}

@Overridepublic void onResume() { super.onResume(); // Always call the superclass method first

// Get the Camera instance as the activity achieves full user focus if (mCamera == null) { initializeCamera(); // Local method to handle camera init }}

21:51 12 из 29

Activity. Основные callback-методы

● onStop() - вызывается после метода onPause(), если activity должна быть остановлена. Необходимо освободить все ресурсы, т. к. activity может быть выгружена из памяти (уничтожена) в любой момент.

21:51 13 из 29

Activity. Основные callback-методы

● onStop() - вызывается после метода onPause(), если activity должна быть остановлена. Необходимо освободить все ресурсы, т. к. activity может быть выгружена из памяти (уничтожена) в любой момент.

● Не надо сохранять состояние элементов интерфейса.

21:51 14 из 29

Activity. Основные callback-методы

● onRestart() - показывает, что activity восстанавливается после того, как была остановлена (после вызова onStop()).

21:51 15 из 29

Activity. Основные callback-методы

● onStart() - вызывается каждый раз при отображении activity. Необходимо инициализировать переменные, освобожденные в методе onStop().

21:51 16 из 29

Activity. Основные callback-методы

● onDestroy() - вызывается, когда activity полностью удаляется из памяти. Обычно, вызов происходит после вызова методов onPause() и onStop().

21:51 17 из 29

Activity. Основные callback-методы

● onDestroy() - вызывается, когда activity полностью удаляется из памяти. Обычно, вызов происходит после вызова методов onPause() и onStop().

● Вызов finish() из метода onCreate() не вызывает методы onPause() и onStop().

21:51 18 из 29

Activity. Основные callback-методы

● onCreate() - onDestroy()

● onStart() - onStop() - onRestart()

● onPause() - onResume()

21:51 19 из 29

21:51 20 из 29

Activity. Задачи и Back Stack

● Задача — набор из нескольких activity.

● Порядок вызова activity сохраняется в стек — стек вызова или «обратный стек».

21:51 21 из 29

Activity. Задачи и Back Stack

● Задача — набор из нескольких activity.

● Порядок вызова activity сохраняется в стек — стек вызова или «обратный стек».

21:51 22 из 29

Activity. Задачи и Back Stack

● Задача — набор из нескольких activity.

● Порядок вызова activity сохраняется в стек — стек вызова или «обратный стек».

21:51 23 из 29

Activity. Задачи и Back Stack

● android:launchMode

– "standard" — стандартный режим, при котором повторный вызов activity создаёт новый экземпляр.

21:51 24 из 29

Activity. Задачи и Back Stack

● Стандартное поведение: android:launchMode="standard"

21:51 25 из 29

Activity. Задачи и Back Stack

● android:launchMode

– "standard" — стандартный режим, при котором повторный вызов activity создаёт новый экземпляр.

– "singleTop" - если activity находиться на вершине стека текущей задачи, то новый экземпляр создан не будет. Во всех остальных случаях создается новый экземпляр.

21:51 26 из 29

Activity. Задачи и Back Stack

● android:launchMode="singleTop"

Объявлены какsingleTop

21:51 27 из 29

Activity. Задачи и Back Stack

● android:launchMode

– "standard" — стандартный режим, при котором повторный вызов activity создаёт новый экземпляр.

– "singleTop" - если activty находиться на вершине стека текущей задачи, то новый экземпляр создан не будет. Во всех остальных случаях создается новый экземпляр.

– "singleTask" - в рамках одной задачи возможен только один экземпляр activity. Несколько экземпляров может существовать в разных задачах.

21:51 28 из 29

Activity. Задачи и Back Stack

● android:launchMode="singleTask"

21:51 29 из 29

Activity. Задачи и Back Stack

● android:launchMode

– "standard" — стандартный режим, при котором повторный вызов activity создаёт новый экземпляр.

– "singleTop" - если activty находиться на вершине стека текущей задачи, то новый экземпляр создан не будет. Во всех остальных случаях создается новый экземпляр.

– "singleTask" - в рамках одной задачи возможен только один экземпляр activity. Несколько экземпляров может существовать в разных задачах.

– "singleInstance" — activity может быть создана только один раз, до тех пор, пока она не будет уничтожена системой.

top related