iOS - 应用程序首次启动非常缓慢

3

enter image description here

我正在谈论的是BSW SMAR...应用程序。从Xcode直接安装后,此应用程序启动非常缓慢。启动画面需要大约3-5秒才能出现,但仅首次启动如此缓慢。之后,启动速度恢复正常。问题可能是什么?

--- 时间分析器中的一些截图 ---

这是我从应用程序的第一次启动中获得的内容。

enter image description here

我关注了应用程序初始化所需的时间部分。它指出初始化应用程序的地址空间和动态链接框架需要很长时间。当我点击第一项选择旁边的箭头时,我看到了这个。

enter image description here

似乎这个应用程序执行其他任务所需的时间没有列在这里。我指的是那些时间较长的任务,因为根据我所看到的,上面列出的任务的时间总和甚至没有达到1秒。所以,肯定有其他时间较长的任务没有列出或者根本无法列出(这就是我想的)。
如果链接框架需要很长时间,那么这是可以接受的。但我不认为我的应用程序有那么多的框架需要很长时间来链接。另一方面,如果更长的时间浪费在初始化地址空间上,那么我期望这个应用程序在未来每次启动时都需要很长时间,而不仅仅是第一次启动。

可能是因为许多Pod已经集成了。我们想要将DYLD_PRINT_STATISTICS添加到当前运行方案中,并将其值设置为YES。然后查看Xcode的“设备”屏幕,以查看带有时间戳的实时控制台。 - Saranjith
这是一个非常有用的链接,可以帮助你解决问题。你可以通过调试来解决这个问题。 - Sommm
@Saranjith 你好,我没有集成任何Pods。但我会尝试你说的方法。 - JLT
如果您无法解码时间戳,请返回“follow”,并告知统计数据。 - Saranjith
@Sommm 谢谢,我会试一下的。 - JLT
1个回答

0

按照您所说的,首次运行代码。

不要忘记启用时间分析器

跟踪图表中,顶部位置显示的将让您知道执行单个方法所需的时间。
最重要的堆栈跟踪(扩展详细信息窗格):在右下角,让您知道哪个方法在该时间戳中执行。 enter image description here


@final static 如果问题已解决,请接受答案。如果没有,请告诉我们。 - Saranjith
嗨,我刚刚编辑了我的问题,请看一下。谢谢!还有,你是在使用旧版本的Xcode吗?因为界面似乎和我的不一样。 - JLT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接