带有 Typhoon 的 IOS 应用程序启动速度太慢

标签 ios objective-c dependency-injection typhoon

我在用 Objective-C 编写的 iOS 应用程序中使用 Typhoon 3.6.0 进行依赖项注入(inject)。应用程序中有 3000 多个 TyphoonDefinition。当前应用程序启动时间超过 4 秒。

enter image description here

enter image description here

Xcode TimeProfiler 显示 Typhoon 在应用程序启动时调配项目中的每个 Typhoon 定义。这就是为什么需要这么长时间。

如何优化 Typhoon 启动并缩短应用启动时间?

最佳答案

使用 Typhoon 4.0.0 是因为它使用代理而不是 swizzling 来检测应用程序程序集 - 非常大的程序集的启动时间要快得多。

如果您仍然看到启动时间比预期的要慢,并且您不需要自动连接,则可以将其禁用。

最后,如果您更喜欢 Swift,您可能希望使用 Typhoon 的新 Swift 版本。从最终用户的角度来看,它非常相似,但是本着 ARC 和 Swift 的精神,它使用编译时检测而不是运行时。

关于带有 Typhoon 的 IOS 应用程序启动速度太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41178798/

相关文章:

c# - 使用 Unity.Mvc5 注入(inject)依赖项时的多个 Controller 构造函数

ios - 检测 UIWebView 何时加载引用文件失败

ios - 当 UIScrollView 滚动第一响应者查看时,如何修复 iOS 14 中的错误行为?

iphone - 快速将单个引脚添加到 MKMapView?

objective-c - 我在 xib 中的 UIButtons 是怎么回事?

惰性可调用的 Python 依赖注入(inject)

ios - 没有使用 Facebook 4.4.0 SDK 获取电子邮件和公开个人资料

ios - 如何使用 iOS swift 将图像转换为文本?

ios - 如何将信息从它推送到的 View Controller 传输回 View Controller ?

asp.net-core - Asp.Net core ActionFilter 上下文请求体处理