Xamarin 表单、棱镜表单和 IoC

Xamarin Forms, Prism Forms & IoC

我有一个最初使用 Prism 和 Unity 开发的 Xamarin Forms 应用程序。我发现 Unity 在第一次解析对象时相当慢,但一旦第一次解析通过,相同对象类型的所有后续解析都明显更快。

根据我在 上收到的一些不相关的建议,我决定尝试从 Unity 切换到 DryIoc。不幸的是,我发现在解析对象时速度更慢,但在随后解析相同对象类型的新实例时速度没有提高。

所以,我的问题是,我可以对任何一个容器做些什么来提高性能吗?例如...

供参考,我自己对each的用法很简单;我对大多数对象(设置、数据库等)使用 RegisterInstance,并通过构造函数将它们注入到我的 ViewModel 对象中。 Forms 和 ViewModel 对象本身都是使用 Prism RegisterTypeForNavigation 扩展方法

注册的

首先,您需要切换到 UseInstance 并检查结果。

那么理想情况下,针对特定用例对 DryIoc 与 Unity 进行测试会很棒。

最后,可能跟这个问题有关https://bitbucket.org/dadhi/dryioc/issues/453/migration-from-unity

我看到的问题与 IoC 容器无关,而是与 5 月初引入的 a problem with Xamarin Visual Studio 的 15.2 更新有关。安装最新更新 (15.2.26430.12) 并重建解决方案恢复了我所期望的那种性能。