个人理解
之前主要理解绿洲文章之后,在网络上进行检索找到相应对应的工具,直接利用,完成相关的启动优化调研。
文章部分
- 绿洲启动优化主要针对动态库、二进制重排
- 动态库部分有300ms的提升
- 二进制重排部分有50ms的提升
- 绿洲启动优化文章针对动态库的优化,做的是利用脚本,打包新的xcframework,新的xcframework是static library。
- 还有二进制重排优化的文章。
- 绿洲启动优化的文章在2020年完成的。
额外相关工具检索
- 构建xcframework的方式
How to build universal iOS static libraries using XCFramework | by Anurag Ajwani | Medium
Distributing compiled universal iOS static libraries as XCFrameworks via Cocoapods | by Anurag Ajwani | Medium - cocoapods管理方式(微软cocoapods插件/新版本的cocoapods)
2021年的一个微软的cocoapods插件
microsoft/cocoapods-pod-linkage: CocoaPods plugin for configuring the linkage type of individual pods (github.com)
Mixing static and dynamic linking in CocoaPods | by Tommaso Madonia | Microsoft Mobile Engineering | Medium
firebase官方文档相关使用内容
Link Firebase dependencies statically or dynamically | Firebase for Apple platforms (google.com)
相关基本概念
- 动态库(Build Setting->Linking->Mach-O Type会是dynamic library)
- 静态库(Build Setting->Linking->Mach-O Type会是static library)
参考文章
2020年绿洲启动优化相关文章
我是如何让微博绿洲的启动速度提升30%的 - 掘金 (juejin.cn)
我是如何让微博绿洲的启动速度提升30%的(二) - 掘金 (juejin.cn)
懒人版二进制重排 - 掘金 (juejin.cn)
2021年的一个微软的cocoapods插件
microsoft/cocoapods-pod-linkage: CocoaPods plugin for configuring the linkage type of individual pods (github.com)
Mixing static and dynamic linking in CocoaPods | by Tommaso Madonia | Microsoft Mobile Engineering | Medium
Firebase官方文档相关使用内容
Link Firebase dependencies statically or dynamically | Firebase for Apple platforms (google.com)
iOS动态库、静态库概念解析
Static Library vs Dynamic Library in iOS | by Pratheesh Bennet | Medium