Android-фрагменты против составных элементов управления

Почему нужно использовать фрагменты Android 3.0 вместо составных элементов управления? Один раз можно создать элемент "Просмотреть наследник" или "составной элемент управления" и использовать его повсюду.

Я прочитал http://android-developers.blogspot.com/2011/02/android-30-fragments-api.html, но не нашел ответа.

Ответ 1

Разница в том, что фрагменты имеют жизненный цикл (onPause, onCreate, onStart...). Имея жизненный цикл, фрагменты могут самостоятельно реагировать на события, сохранять свое состояние через onSaveInstanceState и возвращаться (например, при возобновлении после входящего вызова или когда пользователь нажимает кнопку "Назад" ). Жизненный цикл обобщается в документации фрагмента:

https://developer.android.com/guide/components/fragments.html#Lifecycle

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

Ответ 2

Причина заключается в том, чтобы работать с одним и тем же кодом на планшетах и ​​телефонах. Существуют разные соображения компоновки для этих устройств, а фрагменты позволяют учитывать это, и ваше приложение ведет себя по-другому, не переписывая какой-либо код.