例如,我们有一个大的Xamarin Forms项目,有2000个页面,而Prism MVVM框架和DryIoc容器,已经注册了全部2000个页面。
这样大量的页面,加上DependencyService,比如导航服务,对话框服务,会不会降低导航的速度和性能?
谢谢!
这个没有一个简单的答案。一般的是--是的。DryIoc和其他包一样,对你的项目来说是一个额外的开销。IoC容器肯定会给整体感觉增加一些时间。请记住,这个开销是最小的--在一些毫秒的问题上。就像它说的那样 GitHub repo:
专为低霸道使用、性能和可扩展性而设计。
DryIoc被认为是一个比较快的容器。这里是官方的 IoC容器基准--性能比较.
但同样,请记住,这一切都取决于你需要实例化多少个服务。你是否有2000个页面并不重要。重要的是,你在这些页面上会有多少个依赖关系,以及有多少个 循环依赖性 也。
请记住,一些IoC逻辑是在应用程序启动时完成的,你也可以在那里匹配一些解析。
总而言之--有IoC容器比没有要好,因为从它那里得到的灵活性,胜过最终的小性能开销。