Dialog
напрямую не рекомендуется, потому что управление состоянием диалога при configuration changes сложно и неочевидно (не делайте так, если вы не в 2009м). Диалоги были частой причиной крэшей на ранних этапах разработки под андроид. Метод активити showDialog() deprecated начиная с API level 15
.DialogFragment – фрагмент, который содержит внутри себя объект
Dialog
и выступает как интерфейс для взаимодействия с диалогом. У DialogFragment
жизненный цикл фрагмента. Система сама заботится о пересоздании DialogFragment
при configuration changes.Всегда используйте
DialogFragment
, а не Dialog
.