Ответ 1
Общее правило при выборе макетов состоит в выборе комбинации, которая приводит к наименьшему количеству вложенных видов макетов.
В зависимости от вашего вопроса, RelativeLayout больше и эффективнее, чем гораздо более простой FrameLayout. Так что для простых макетов последний, вероятно, более эффективен. Но если использование RelativeLayout и добавленных опций позиционирования позволяет реализовать графический интерфейс в меньшем количестве видов компоновки, то это, вероятно, будет лучшим выбором.
Здесь страница, которая обсуждает некоторые компромиссы и демонстрирует некоторые полезные инструменты, которые можно использовать при разработке макетов. В основном речь идет о RelativeLayout и LinearLayout, но также имеет отношение к вашему выбору между RelativeLayout и Framelayout. Просто помните, что FrameLayout - это еще более простой макет.
Редактировать (2017): Для еще более сложных макетов вы можете избежать вложенных макетов с помощью ConstraintLayout.