Преимущество использования DialogFragment над простым AlertDialog?

Я прочитал несколько ответов stackoverflow.com, но до сих пор не вижу преимущества использования DialogFragment над простым AlertDialog. У меня, по-видимому, две стратегии:

A) используйте AlertDialog.Builder для настройки AlertDialog, .create (), а затем .show () в моей активности (в некоторых обработчиках кнопок) или

B) подкласс DialogFragment, напишите тот же AlertDialog-строительный код в onCreateDialog () (за исключением того, что я просто возвращаю .create (), а затем в своей операции создаю диалоговое окно DialogFragment и покажу его.

Результат выглядит одинаково.

В любом случае, я не использую устаревший код – я использую .show () как с AlertDialog, так и с DialogFragment. Является ли преимущество, когда я иду на другое устройство? Или в чем смысл …

Спасибо за любые идеи,

Майкл

DialogFragment обрабатывает несколько случаев управления жизненным циклом для вас, включая изменения конфигурации (например, вращение экрана) и восстановление состояния, если процесс вашего приложения убит в фоновом режиме, и пользователь возвращается к нему позже. Если вы не используете DialogFragment, вам придется обращаться с такими делами по-другому.