Каковы различия между активностью и фрагментом?
Согласно моим исследованиям, существует существенная разница в концепции стоп-кадра и способах их существования:
Деятельность
-
Когда activity
помещается в backstack
activities
пользователь может вернуться к предыдущему действию, просто нажав кнопку " back
.
-
Activity
может существовать независимо.
Фрагмент
-
Когда fragment
помещается в действие, мы должны запросить экземпляр для сохранения, вызвав addToBackstack()
во время transaction
fragment
.
-
Fragment
должен жить внутри activity
Есть ли дополнительные различия?
Ответы
Ответ 1
Это две совершенно разные вещи:
Активность - это компонент приложения, который предоставляет экран, с помощью которого пользователи могут взаимодействовать, чтобы что-то сделать. Подробнее:
http://developer.android.com/guide/components/activities.html
В то время как фрагмент представляет собой поведение или часть пользовательского интерфейса в Activity.
http://developer.android.com/guide/components/fragments.html
Ответ 2
-
Фрагмент является частью активности, которая вносит свой собственный интерфейс в эту деятельность. Фрагмент можно рассматривать как вспомогательную активность, где, поскольку полный экран, с которым взаимодействует пользователь, называется активностью. Активность может содержать несколько фрагментов. Фрагмент в основном является частью активности.
-
Активность может содержать 0 или несколько фрагментов на основе размера экрана. Фрагмент может быть повторно использован в нескольких действиях, поэтому он действует как компонент многократного использования в действиях.
-
Фрагмент не может существовать независимо. Он должен быть всегда частью активности, тогда как активность может существовать без какого-либо фрагмента в нем.
Ответ 3
Согласно документации разработчика Android, разница между фрагментом и активностью в их жизненном цикле.
Ссылка Doc http://developer.android.com/guide/components/fragments.html#Lifecycle
Самое существенное различие в жизненном цикле между активностью и фрагментом - это то, как один хранится в соответствующем стеке. Активность по умолчанию помещается в задний стек действий, которые управляются системой, когда она остановлена, чтобы пользователь мог вернуться к ней с помощью кнопки "Назад", как описано в разделе "Задачи и обратный стек" ). Однако фрагмент помещается в задний стек, управляемый активностью хоста, только когда вы явно запрашиваете, чтобы экземпляр был сохранен, вызывая addToBackStack() во время транзакции, которая удаляет фрагмент.
В противном случае управление жизненным циклом фрагмента очень похоже на управление жизненным циклом действия. Таким образом, те же методы управления жизненным циклом действия также применяются к фрагментам. То, что вам также нужно понять, заключается в том, как жизнь этой деятельности влияет на жизнь фрагмента.
& для многоуровневых макетов вам нужно использовать fragment
, которого вы не можете достичь с помощью activity
.
Ответ 4
Активность - это интерфейс приложения, через которое пользователь может взаимодействовать и
Фрагмент - это часть Деятельности, это суб-активность внутри деятельности
который имеет свой собственный жизненный цикл, который проходит параллельно жизненному циклу активности.
Activity LifeCycle Fragment LifeCycle
onCreate() onAttach()
| |
onStart()______onRestart() onCreate()
| | |
onResume() | onCreateView()
| | |
onPause() | onActivityCreated()
| | |
onStop()__________| onStart()
| |
onDestroy() onResume()
|
onPause()
|
onStop()
|
onDestroyView()
|
onDestroy()
|
onDetach()
Ответ 5
Основные различия между деятельностью и фрагментом
- Активность - это компонент приложения, который предоставляет пользовательский интерфейс, с которым пользователь может взаимодействовать. Фрагмент является частью действия, которое связывает свой собственный пользовательский интерфейс с этим действием.
- Для планшета или мобильного устройства в альбомной ориентации, используя фрагмент, мы можем отобразить два списка, например, один список для отображения названия состояния, а другой список покажет описание состояния в одном действии, но, используя действие, мы не можем сделать то же самое.
- Активность не зависит от фрагмента. Но фрагмент зависит от Активности, он не может существовать независимо.
- без использования фрагмента в Activity мы не можем создать многопанельный интерфейс. Но используя несколько фрагментов в одном действии, мы можем создать многопанельный пользовательский интерфейс.
- Если мы создаем проект с использованием только Activity, то его сложно управлять, но если мы используем фрагменты, структура проекта будет хорошей, и мы легко справимся.
- Деятельность может содержать 0 или несколько фрагментов. Фрагмент можно повторно использовать в нескольких действиях, поэтому он действует как компонент многократного использования в действиях.
- Активность имеет свой жизненный цикл, но фрагмент имеет свой жизненный цикл.
- Для Деятельности мы должны упомянуть в Манифесте, но для фрагмента это не требуется.
Ответ 6
активность
1. Деятельность является одним из фундаментальных блоков приложений на платформе Android. Они служат отправной точкой для взаимодействия пользователя с приложением
и также имеют центральное значение для того, как пользователь перемещается в приложении или между приложениями
2. Методы жизненного цикла размещаются на ОС.
3. Жизненный цикл активности
Фрагменты
1. Фрагмент представляет собой поведение или часть пользовательского интерфейса в Activity. Вы можете объединить несколько фрагментов в одном действии для создания многоуровневого пользовательского интерфейса и повторного использования фрагмента в нескольких действиях. Вы можете представить фрагмент как модульный раздел действия, который имеет свой собственный жизненный цикл, получает свои собственные входные события и которые вы можете добавлять или удалять во время работы.
2. Методы жизненного цикла, размещаемые
хостинга.
3. Жизненный цикл фрагмента
Ответ 7
Разница между активностью и фрагментом
Деятельность:
- Деятельность является одним из основных строительных блоков приложения.
- Они служат отправной точкой для взаимодействия пользователя с приложением.
- Изменения ориентации происходят плавно, не нарушая работу пользователя.
- Пользовательские данные не теряются во время переходов.
-
Система убивает процессы, когда это подходит.
Life Cycle of the Activity
![enter image description here]()
Фрагмент:
- Фрагмент представляет собой поведение или часть пользовательского интерфейса в FragmentActivity.
- Несколько фрагментов в одном действии для создания многоуровневого пользовательского интерфейса и повторного использования фрагмента в нескольких действиях.
- Фрагмент как модульный раздел активности, который имеет собственный жизненный цикл.
- Фрагмент должен всегда размещаться в действии, а жизненный цикл фрагмента напрямую зависит от жизненного цикла хоста
-
Когда вы добавляете фрагмент как часть вашего макета активности, он живет в ViewGroup внутри иерархии видов деятельности, а фрагмент определяет свой собственный макет представления.
Life Cycle of the Fragment
![enter image description here]()