在我的4个Typhoon程序集中,我实际上有大约150个组件。我在应用启动时使用这些程序集初始化TyphoonComponentFactory
,并且可能很长,具体取决于组件数量和标记iDevice。
例如,组件工厂初始化在iPhone4上大约需要1200ms,在iPhone 5S上需要600ms。
有没有办法加快组件工厂的初始化?
答案 0 :(得分:1)
'组装'实例化台风的风格设计如下:
自分析以来已经有一段时间了,但我猜这两个性能损失最大的功能是:
自动布线:强>
有一个新的自动接线功能将作为Typhoon 3.0的一部分发布。虽然仍然是私有的,但它位于主分支上,并存在于某些Typhoon 2.3.x版本中。它增加了25%的开销。昨天推出了一项功能,允许关闭自动接线。
收集扫描:
Typhoon对集合(NSArrays,Sets等)具有以下行为:
这允许简单直观的DSL,但需要扫描每个集合值,这增加了开销。你的装配中有很多系列吗?
Typhoon 3.0:
我们将在 Typhoon 3.0发布中进行一些分析。与此同时,如果您有任何表现可能会引发Github问题,我们会尝试解决这些问题。
最小的台风(不推荐用于正常情况):
作为性能的最后一点:除了使用Typhoon的装配风格外,如果启动性能特别受关注,你可以直接使用TyphoonComponentFactory
以极小/最小状态使用Typhoon,但这更多verbose并没有内置的IDE重构,代码完成,使用汇编接口解析组件的能力(我们没有运行时args)等。