为啥在模拟器中启动应用程序后 xcode 控制台输出缓慢?

Posted

技术标签:

【中文标题】为啥在模拟器中启动应用程序后 xcode 控制台输出缓慢?【英文标题】:why is xcode console output sluggish after app launch in simulator?为什么在模拟器中启动应用程序后 xcode 控制台输出缓慢? 【发布时间】:2021-09-09 14:52:04 【问题描述】:

在昨天的马拉松比赛中(从早上 7 点到午夜过后),我突然遇到了一个问题,即在模拟器中启动应用程序后,在控制台中点击按钮并在视图上滑动不会导致任何变化约 15 秒。最终(10 - 15 秒)控制台输出出现,视图滑动,看起来又正常了。

我在 Big Sur 11.2.3 上使用 Xcode 版本 12.5 (12E262)

我看过这些,还有无数其他的:

iPhone Simulator suddenly started running very slow

Xcode freezes on startup while loading project

我从派生数据中删除了项目的文件夹,我确认未选中“慢速动画”。我没有删除“xcuserdata”文件夹。我只是不知道去哪里调试这个问题。有没有人见过这种行为?我是否口吃并按下组合键(Shift 和 CMD-T 上的三次点击都用于切换我学到的慢速动画)?我觉得我添加了触发这个的代码,但我不能确定。我花了一整天的时间重构我的项目,以减少 Objective-C 和 UIKit 代码并更好地利用可组合架构 (TCA)。如果人们建议我可以执行的调试步骤,我会尝试并报告。我只是不知道如何继续调试这个问题。

当天更改之前的备份不会出现这种情况。我将项目复制到一个新目录,并用备份的源代码替换了所有源代码。这很好用。所以我可能会在昨晚从下午 3 点到午夜失去工作,或者在我有磁盘空间安装 12.5.1 之前一直受苦

欢迎任何见解

【问题讨论】:

为什么要投票结束这个?如果有更合适的地方问这个问题,我会在那里问。让我知道! 你在使用 Git 吗?您可以尝试比较代码以查看您所做的更改 感谢您的出色建议。这个特定的项目还没有。我希望问题在 12.5.1 中消失,但你的观点很好。我可以设置它,因为我有一个前后设置。我会留出时间将所有内容提交到一个 git 项目。 【参考方案1】:

所以我运行了一个计时器配置文件——请参阅这篇很棒的文章:

https://www.avanderlee.com/debugging/xcode-instruments-time-profiler/

我想出了这个:

这导致了这个:

我明白我在哪里引入了问题:

var selectedNibIndex: Int = 0 
        didSet 
            brush = WDBrush.from(index: selectedNibIndex)!
            cameoImage = BrushStrokeImageView(paintBrush: brush)
            dictionary = brush.wdPropertiesDictionary() as! [String: WDProperty]
        
    

这是新代码,它被放置在一个不断重建的结构中。

我会把它搬走。

**

我想我的问题的答案是在时间下运行应用程序 探查器,让它告诉你问题出在哪里。

**

马拉松赛并不总是一个好主意。如果我没有咬掉这么大的任务,我会更快地发现问题。有两个小时的时间它不会编译,我不应该让这种情况发生。到我在经过一些更改后编译它时,我已经更改了很多东西,我再也看不到森林了。

希望对大家有所帮助,感谢阅读!

【讨论】:

以上是关于为啥在模拟器中启动应用程序后 xcode 控制台输出缓慢?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在iOS模拟器中实际启动屏幕出现之前会出现白屏

自动化 Xcode 模拟器:如何从终端构建和启动应用程序

任何模拟器崩溃后都需要重新启动 XCode

为啥 iOS7 模拟器无法启动或按预期启动...?

基于 Xcode 页面的应用程序界面轮换问题

xcode崩溃成功上传,但在崩解中无法看到