您现在的位置是:首页 > 互联网 >正文
苹果如何在iOS15和macOSMonterey中启动应用程序
发布时间:2021-08-04 15:16:47来源:
今年秋天,您的应用程序加载速度可能会快得多。当你今年秋天第一次启动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 以便在程序运行时快速访问。
RAM 由所谓的页面组成,每个页面只有 16 K今年秋天,您的应用程序加载速度可能会快得多。当你今年秋天第一次启动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 以便在程序运行时快速访问。
RAM 由所谓的页面组成,每个页面只有 16 KB 的容量,并且只要应用程序运行就一直存在。到目前为止,dyld 进程已经逐渐打包这些表,这基本上延迟了应用程序的启动。正如 Martin 了解到的那样, Apple 在 iOS 15 和 macOS 12 中通过链、修复和指针解决了这个问题——而不是逐渐将单个应用程序组件和共享库分别加载到 RAM 中,因此指针可以将应用程序链接到高达 64 GB 并连接他们通过修复彼此。
听起来很复杂,其实很简单。RAM 内容现在以链的形式相互连接。这节省了大量用于管理的元数据,从而使整个 RAM 管理更加高效。此外,长时间未使用的 RAM 页会被压缩。
据马丁说,这个新系统有两个结果。可用内存量得到优化,内存中二进制内容的针对性分布可确保更快地启动应用程序。在他的测试中,Martin 能够节省高达 50% 的元数据,这些元数据是通过 dyld 过程导入的,最终可以让应用程序更快地启动。
我们很快就会看到这是如何工作的。Apple 已经发布了 iOS 15 和 macOS 12 的第三个测试版,可能分别在 9 月和 10 月发布。用程序的启动。正如 Martin 了解到的那样, Apple 在 iOS 15 和 macOS 12 中通过链、修复和指针解决了这个问题——而不是逐渐将单个应用程序组件和共享库分别加载到 RAM 中,因此指针可以将应用程序链接到高达 64 GB 并连接他们通过修复彼此。
听起来很复杂,其实很简单。RAM 内容现在以链的形式相互连接。这节省了大量用于管理的元数据,从而使整个 RAM 管理更加高效。此外,长时间未使用的 RAM 页会被压缩。
据马丁说,这个新系统有两个结果。可用内存量得到优化,内存中二进制内容的针对性分布可确保更快地启动应用程序。在他的测试中,Martin 能够节省高达 50% 的元数据,这些元数据是通过 dyld 过程导入的,最终可以让应用程序更快地启动。
我们很快就会看到这是如何工作的。Apple 已经发布了 iOS 15 和 macOS 12 的第三个测试版,可能分别在 9 月和 10 月发布。
标签:苹果iOS15
猜你喜欢
最新文章
- 16度穿什么衣服儿童(16度穿什么)
- 2022年丰田4Runner采用新的TRDSportTrim驾驶性能更好
- 2022年起亚K9内饰采用大屏幕指纹认证
- 2022梅德塞斯AMGGT4Door锐化新客舱和特殊装饰
- 2020职工养老保险收费价格表 2022养老保险费计算方式有哪些
- 172男生正常体重(172体重多少合适)
- 2022年02月22日7月10日来天猫小米旗舰店小米8放量抢购
- 1.8床和1.5床长和宽是多少(1.5米床和1.8米床区别)
- 2022重庆社保个人缴费基数是多少 2022养老保险缴费基数是怎么来的
- 1公里走路需要多少分钟(1.8公里走路要多久)
- 聚酯纤维100%的衣服怎么洗(100%聚酯纤维怎么洗)
- 广东省过渡性养老金是在哪一年截止 2022广州市过渡性养老金怎么计算的
- 2022年02月22日积灰问题难消除FindX或成“吸尘机”
- little和less有什么区别(less和little的区别)
- 鞍钢职工养老保险查询 2022鞍山养老保险查询途径有哪些
- ow是哪国的(macow 是哪个国家)
- 奥迪A4L入门版将于9月上市 搭载1.4T发动机
- 1月15日魅族16真机再曝光18:9屏幕+超窄边框
- new bunren是正品吗(new caledonia是哪个国家)
- 黑龙江省鸡西市养老保险今年交多少? 2022鸡西养老保险查询指南
- pizza纸盒能进微波炉吗(pizza纸盒能进微波炉吗)
- 2021成都车展博物馆:瑞丰S2S3智能驱动系列
- 井矿盐跟海盐哪种好(井矿盐和海盐区别)
- 2022年02月22日小米&美图重磅联姻网友火速放出渲染图