Они оба используют метод addView () вместе с различными методами windowManager.В этом отношении они похожи.
Похоже, что диалоги содержат больше встроенных функций взаимодействия, таких как обработчики и кнопки, уже включенные в базовый класс, в то время как PopupWindows поставляется с более встроенными методами позиционирования.о экране.
Я думаю, что каждый из них может делать то же самое, что и другой, но выбор между ними будет удобен для программиста в отношении того, как вы хотите использовать объект,Я не доктор наук в области компьютерных наук, но я не думаю, что между этими двумя процессами есть существенная разница в зависимости от того, что я видел в их соответствующих определениях классов.
Мой совет: если вы хотитеиметь больший контроль над тем, где ваш вид отображается на дисплее, используйте PopupWindow.Если вы хотите добавить больше контроля и обратной связи между вашими представлениями, используйте диалог.Если вам, как и мне, нужен главный контроль над всем, я бы предложил PopupWindow, так как в нем меньше очевидных для пользователя методов по умолчанию для переопределения.