iOS 是否失去了使用动态框架的大部分优势?
由于 iOS 会将所需的所有动态框架复制到应用程序包中,因此它不会在应用程序之间共享动态框架并节省内存。除了与主应用程序及其扩展程序共享内存。
使用的应用程序dlOpen无法发送到 App Store。这意味着 Apple 禁止正式使用动态框架。
旧的 Apple 文件说动态框架可以节省应用程序启动时间,但新文件说它们没有。旧文件是否过时?这是比较:
这是否意味着如果我们使用动态框架dlOpen稍后加载它们,它会比静态框架更快?因为动态框架在开始时需要一些时间来链接,但它们在加载到内存中节省了更多时间。静态框架的加载时间大于动态框架的链接时间。真的吗?
所以看起来在 iOS 上使用动态框架没有任何好处,对吧?
在 macOS 和 Linux 上呢?动态框架有什么优势吗?如果是这样,它们是如何工作的?
frameworks launch-time ios dynamic-frameworks static-framework
我正在尝试使用 Xcode Organizer 查找我的应用程序的Metrics Launch Time,但它没有显示 3 个最新版本的结果。仅适用于旧版本。
我使用的是 Xcode 12.2 (12B45b),即使升级到 12.3 (12C33) 后,仍然无法工作!
有谁遇到同样的问题并知道如何解决它?
我的盘子里有一个错误,用于在我们的库之一中查找和重写静态变量,该变量占用了我们应用程序的启动时间。我不熟悉库代码库,并要求良好的启发式/技术/grep 命令/等。这会减轻我识别所述静态变量位置的任务吗?
(PS 我已经在代码库中搜索static;不用说这是一个冗长的结果。)
更新:错误报告只是指出“库 XYZ 在静态初始化时需要 N 毫秒”;我没有关于静态变量的更多信息。我没有分析日志,但我会看看是否可以从错误报告者那里获取它们。
launch-time ×4
c++ ×1
frameworks ×1
ios ×1
iphone ×1
metrics ×1
search ×1
variables ×1
xcode ×1