Xamarin Forms с Prism и DryIo c с большим количеством зарегистрированных страниц могут снизить производительность? - PullRequest
2 голосов
/ 08 мая 2020

Например, у нас есть большой проект форм Xamarin со страницей 2000 и инфраструктура Prism MVVM с контейнером DryIo c, который зарегистрировал все 2000 страниц.

Это много страниц, добавлено с DependencyService, например, navigationservice, dialogservice, может снизить скорость и / или производительность навигации? Это может замедлить работу приложения из-за большой зависимости?

Спасибо !!

1 Ответ

1 голос
/ 08 мая 2020

На это нет простого ответа. Общий - да. DryIo c, как и любой другой пакет, представляет собой дополнительные накладные расходы для вашего проекта. Контейнер Io C, несомненно, добавляет времени к общему ощущению. Помните, что накладные расходы минимальны - в несколько миллисекунд. Как сказано в репозитории GitHub :

Предназначен для невысокого использования, производительности и расширяемости.

DryIo c считается быть относительно быстрым контейнером. Вот официальный Io C Container Benchmark - Сравнение производительности .

Но опять же, все зависит от того, сколько сервисов вам нужно создать. Неважно, если у вас 2000 страниц. Имеет значение, сколько зависимостей у вас будет с этими страницами и сколько циклических зависимостей также.

Кроме того, некоторые из Io C logi c выполняются при запуске приложения - вверх, и вы также можете сопоставить некоторые из разрешений там.

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

...