Как реорганизовать навигационный график Android?

#android #android-studio #android-architecture-navigation #android-navigation-graph

Вопрос:

Поэтому я использую один nav_graph.xml для всего приложения. По мере роста приложения оно становится беспорядочным беспорядком, как показано ниже, и теперь оно становится таким отстающим, чтобы передвигаться. введите описание изображения здесь

Есть ли какой-нибудь трюк, чтобы распутать эту штуку, не слишком сильно меняя код?

Ответ №1:

У меня тоже была такая ситуация , и это нормально, но вам следует провести рефакторинг, поскольку становится все труднее вносить изменения в этот график навигации или лучше понимать ваши варианты использования и делать это в первую очередь. В любом случае решение, которое вы делаете nested navigation graph для каждого объекта приложения (если это возможно) , например для профиля возможность сделать профиль вложенной навигации график сейчас все фрагменты, связанные с профилем пойдет под навигационного графа и навигационного графа станут более послушными еще одно преимущество заключается в том, что вы можете ограничить ViewModel, к вложенной навигации графика, что означает, что вы можете передавать данные, связанные с профилем с помощью этой модели ViewModel.

Как показано на графике навигации выше , как вы можете обмениваться данными между этими фрагментами , во-первых, вы можете использовать аргументы, но они предназначены для ограниченных типов данных, во-вторых, у вас может быть модель представления, которая привязана к вашему отдельному действию, и все ваши фрагменты будут делиться этими данными, но это также очень грязное решение и огромное влияние на использование памяти, так как вся память, используемая моделью представления действия, будет использоваться до тех пор, пока приложение работает.

Таким образом, go будет вложенным навигационным графиком, или, если вы хотите иметь больше действий, вы также можете сделать это, в этом случае другие действия имеют свои собственные навигационные графики.