4. Activity. Основные состояния
Activity частично скрыта
от пользователя: отображается
диалоговое окно, перекрывается
полупрозрачной activity.
21:51
4 из 29
8. Activity. Основные callback-методы
●
onPause() - первый признак того, что activity может быть
закрыта. Необходимо остановить все ресурсоёмкие процессы и
освободить ресурсы (приостановить видео, остановить
камеру, ...).
21:51
8 из 29
9. Activity. Основные callback-методы
●
onResume() - вызывается каждый раз, когда activity
становится видимой пользователю. Необходимо
инициализировать переменные, освобожденные в onPause(), а
также другие инициализации (анимация, доступ к ресурсам, ...)
21:51
9 из 29
10. Activity. Основные callback-методы
@Override
public 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
10 из 29
11. Activity. Основные callback-методы
@Override
public 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;
}
}
@Override
public 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
11 из 29
12. Activity. Основные callback-методы
●
onStop() - вызывается после метода onPause(), если activity
должна быть остановлена. Необходимо освободить все
ресурсы, т. к. activity может быть выгружена из памяти
(уничтожена) в любой момент.
21:51
12 из 29
13. Activity. Основные callback-методы
●
●
onStop() - вызывается после метода onPause(), если activity
должна быть остановлена. Необходимо освободить все
ресурсы, т. к. activity может быть выгружена из памяти
(уничтожена) в любой момент.
Не надо сохранять состояние элементов интерфейса.
21:51
13 из 29
15. Activity. Основные callback-методы
●
onStart() - вызывается каждый раз при отображении activity.
Необходимо инициализировать переменные, освобожденные в
методе onStop().
21:51
15 из 29
17. Activity. Основные callback-методы
●
●
onDestroy() - вызывается, когда activity полностью удаляется из
памяти. Обычно, вызов происходит после вызова методов
onPause() и onStop().
Вызов finish() из метода onCreate() не вызывает методы
onPause() и onStop().
21:51
17 из 29
20. Activity. Задачи и Back Stack
●
●
Задача — набор из нескольких activity.
Порядок вызова activity сохраняется в стек — стек вызова или
«обратный стек».
21:51
20 из 29
21. Activity. Задачи и Back Stack
●
●
Задача — набор из нескольких activity.
Порядок вызова activity сохраняется в стек — стек вызова или
«обратный стек».
21:51
21 из 29
22. Activity. Задачи и Back Stack
●
●
Задача — набор из нескольких activity.
Порядок вызова activity сохраняется в стек — стек вызова или
«обратный стек».
21:51
22 из 29
23. Activity. Задачи и Back Stack
●
android:launchMode
–
21:51
"standard" — стандартный режим, при котором повторный
вызов activity создаёт новый экземпляр.
23 из 29
24. Activity. Задачи и Back Stack
●
Стандартное поведение: android:launchMode="standard"
21:51
24 из 29
25. Activity. Задачи и Back Stack
●
android:launchMode
–
"standard" — стандартный режим, при котором повторный
вызов activity создаёт новый экземпляр.
–
"singleTop" - если activity находиться на вершине стека
текущей задачи, то новый экземпляр создан не будет. Во
всех остальных случаях создается новый экземпляр.
21:51
25 из 29
26. Activity. Задачи и Back Stack
●
android:launchMode="singleTop"
Объявлены как
singleTop
21:51
26 из 29
27. Activity. Задачи и Back Stack
●
android:launchMode
–
"standard" — стандартный режим, при котором повторный
вызов activity создаёт новый экземпляр.
–
"singleTop" - если activty находиться на вершине стека
текущей задачи, то новый экземпляр создан не будет. Во
всех остальных случаях создается новый экземпляр.
–
"singleTask" - в рамках одной задачи возможен только один
экземпляр activity. Несколько экземпляров может
существовать в разных задачах.
21:51
27 из 29
28. Activity. Задачи и Back Stack
●
android:launchMode="singleTask"
21:51
28 из 29
29. Activity. Задачи и Back Stack
●
android:launchMode
–
"standard" — стандартный режим, при котором повторный
вызов activity создаёт новый экземпляр.
–
"singleTop" - если activty находиться на вершине стека
текущей задачи, то новый экземпляр создан не будет. Во
всех остальных случаях создается новый экземпляр.
–
"singleTask" - в рамках одной задачи возможен только один
экземпляр activity. Несколько экземпляров может
существовать в разных задачах.
–
"singleInstance" — activity может быть создана только один
раз, до тех пор, пока она не будет уничтожена системой.
21:51
29 из 29