我有一个最初使用 Prism 和 Unity 开发的 Xamarin Forms 应用程序。我发现 Unity 在第一次解析对象时相当慢,尽管一旦第一次通过了相同对象类型的所有后续解析,速度就会明显更快。
基于我在另一个线程上收到的一些不相关的建议,我决定尝试从 Unity 切换到 DryIoc。不幸的是,我发现在解析对象时这会更慢,但在随后解析那些相同对象类型的新实例时速度没有提高。
所以,我的问题是,我可以用这两个容器做些什么来提高性能?例如...
- Unity 中是否有任何东西可以让我预先配置可能创建的对象,以便第一个分辨率与后续分辨率一样快?
- 我可以用 DryIoc 做些什么来加快所有对象的分辨率?
作为参考,我自己对每个的用法都很简单;我正在使用我RegisterInstance
的大部分对象(设置、数据库等)并通过构造函数将它们注入到我的 ViewModel 对象中。Forms 和 ViewModel 对象本身都是使用 PrismRegisterTypeForNavigation
扩展方法注册的