другими словами: не давайте экрану данные, которыми он не будет пользоваться, а если все экраны используют какую-то одну функцию - выносить ее в общую ViewModel, а не засовывайте отдельно в каждую
В каждом проекте своя херомантия. Зависит от времени напмсания основного обьема. Своя хуета напичкана везде всегда по разному как правило. Андроид быстро меняется. Это и плюс и минус.
и причем тут грамотная реализация singleton repository?
Ну гугол говорит можешь вот передавать данные по старинке через бандл либо безопасные аргументы (используя их навигацию), но можешь через SharedViewModel). И я так представил как там для каждого мастер-дитейл юзкейса кто-нибудь сделает SharedViewModel и будут у тебя в памяти хз сколько вьюмоделей). 30? 50? Такое же может быть?
ну у меня во всех фрагментах вьюмодел инициализируется вот так : mainViewModel = ViewModelProvider(requireActivity()).get(MainViewModel::class.java) по сути это же один экземпляр viewmodel?
Ну гугол говорит можешь вот передавать данные по старинке через бандл либо безопасные аргументы (используя их навигацию), но можешь через SharedViewModel). И я так представил как там для каждого мастер-дитейл юзкейса кто-нибудь сделает SharedViewModel и будут у тебя в памяти хз сколько вьюмоделей). 30? 50? Такое же может быть?
а зачем ViewModel'и все эти держать в Activity? есть же FlowFragment/ContainerFragment