Фрагменты Android против сложных элементов управления - PullRequest
19 голосов
/ 02 июня 2011

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

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

Ответы [ 2 ]

33 голосов
/ 20 июня 2012

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

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

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

2 голосов
/ 02 июня 2011

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

...