Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin表单与Prism和DryIoc一起注册了大量页面,会降低性能吗?_C#_Xamarin_Xamarin.forms_Prism - Fatal编程技术网

C# Xamarin表单与Prism和DryIoc一起注册了大量页面,会降低性能吗?

C# Xamarin表单与Prism和DryIoc一起注册了大量页面,会降低性能吗?,c#,xamarin,xamarin.forms,prism,C#,Xamarin,Xamarin.forms,Prism,例如,我们有一个大的Xamarin表单项目,有2000页,Prism MVVM框架,有DryIoc容器,它已经注册了所有2000页 这大量的页面,加上DependencyService,例如navigationservice,dialogservice,会降低导航的速度和/或性能吗? 它会使应用程序运行缓慢,因为依赖性很大 谢谢 这个问题没有简单的答案。一般的答案是——是的。与任何包一样,DryIoc也是项目的额外开销。国际奥委会的容器无疑为整体感觉增加了一些时间。请记住,开销是最小的,仅需几毫

例如,我们有一个大的Xamarin表单项目,有2000页,Prism MVVM框架,有DryIoc容器,它已经注册了所有2000页

这大量的页面,加上DependencyService,例如navigationservice,dialogservice,会降低导航的速度和/或性能吗? 它会使应用程序运行缓慢,因为依赖性很大


谢谢

这个问题没有简单的答案。一般的答案是——是的。与任何包一样,DryIoc也是项目的额外开销。国际奥委会的容器无疑为整体感觉增加了一些时间。请记住,开销是最小的,仅需几毫秒。就像书中说的:

专为低使用、性能和可扩展性而设计

DryIoc被认为是一个相对快速的容器。这是官员

但同样,这完全取决于需要实例化多少服务。如果你有2000页也没关系。重要的是,您对这些页面有多少依赖关系,还有多少依赖关系

此外,一些IoC逻辑正在应用程序启动时完成,您也可以匹配其中的一些解决方案


总而言之,拥有IoC容器比没有更好,因为你从中获得的灵活性超过了最终的小的性能开销。

谢谢你的回答,但最坏的情况是,IoC和依赖性服务可能会让使用该应用的用户检测到减速吗?当然,可能会有。您添加的每个包都会增加用户的总开销。这里的想法是最坏的情况——是50页,每个页有1-2个依赖项,还是3000页,每个页有10个以上的依赖项。总的来说,答案应该是否定的。如果你有3000个页面,每个页面都有10多个依赖项,那么DryIoc对你的性能来说问题最小。