当你今年秋天第一次启动iOS 15和macOS Monterey时,你可能会注意到新的 FaceTime 功能和 Safari 变化之外的一些东西:提高了速度。一位深入研究 Apple 新操作系统代码的开发人员表示,Apple 已经显着改变了应用程序与系统通信的方式,并且可以大大缩短启动时间。iOS 开发人员和前 Apple 员工 Noah Martin 在阅读Xcode 13的发行说明时意识到了一个有趣的地方 :

使用 macOS 12 或 iOS 15 或更高版本的部署目标构建的所有程序和 dylib 现在都使用链式修复格式。这使用不同的加载命令和 LINKEDIT 数据,并且不会在较旧的操作系统版本上运行或加载。
这听起来可能不多,但这两个句子解释了可以改变您使用 Mac 和 iPhone 体验的技术。Martin 做了一些侦探工作来了解这一变化背后的原因,正如他在一篇冗长且技术性很强的 Medium 帖子中所描述的那样,针对 iOS 15 和 macOS 12 优化的应用程序的启动速度可能比现在快得多。
这个怎么运作
由于 iOS 和 macOS 目前可以运行,因此所有应用程序都创建为捆绑包。与 Windows 不同,应用程序在一个包中配备了最必要的组件。应用程序基本上是包含各种程序组件的文件夹。(如果您有 Mac,您可能知道这一点。在 Finder 中右键单击应用程序,您将看到菜单项“显示包内容”,可让您查看应用程序内部。)此外,应用程序也会加载与动态链接器进程 (dyld) 共享库,然后将它们复制到系统的 RAM 以便在程序运行时快速访问。

