На самом деле MVP MVVM и MVC - это всего лишь шаблоны проектирования.
Ни один из них по своей сути не решает проблемы, налагаемые конкретной платформой.
Они нацелены на то, чтобы предоставить разработчикам механизм для организации структуры кода в логические роли в соответствии с принципом разделения ответственности (см. Разработка программного обеспечения SOLID ).
Проблема сохранения состояния в связи с изменениями конфигурации в операциях Android (поворот - только один из них) присутствует в качестве функции операционной системы Android.
У Google есть одно решение для их архитектурных компонентов, которое, как я полагаю, вы называете ViewModel
, но это не означает MVVM, поскольку шаблон поддерживает его напрямую.
Как уже упоминалось @ zsmb13, вы можете довольно чисто использовать модель представления в качестве докладчика.
Что касается сохранения состояния, у меня есть другой подход: ucs Framework и небольшая статья об одном из подходов: Простой MVP-подход для Android - The Простой подход MVP в настоящее время не рекомендуется в пользу структуры ucs, которая помимо сохранения состояния также управляет многопоточностью.