Этот шаблон похож на шаблон Main Servlet (Front Controller), который используется для разработки веб-приложений.
Основная идея этого шаблона: у нас есть одно действие, которое управляет несколькими представлениями, и эта деятельность отвечает за представление текущего содержимого. Не все взгляды нуждаются в функциональной активности (например, методы жизненного цикла), поэтому главный вопрос: , если я могу идти без активности, почему я должен его использовать?
Я нашел следующие недостатки использования этого шаблона:
-
Официальный источник не рекомендует Перегрузка экрана одного действия но они не объясняют, почему.
-
Мы не можем использовать
TabActivity
,ListActivity
,MapActivity
. Но есть и трюки, которые можно обойти без них. - Если на разных экранах есть другое меню, проблема заключается в том, чтобы сделать это без действий.
- Необходимо вести историю самостоятельно. Но это не так сложно развиваться.
Я нашел следующие преимущества использования этого шаблона:
- Быстрее менять содержание текущей активности, чем запускать другую деятельность.
- Мы можем управлять историей, как хотим
- Если у нас есть только один контекст активности, проще найти и решить проблемы с утечками памяти.
Что вы думаете об этом шаблоне? Не могли бы вы предоставить какие-либо другие преимущества/недостатки?