繁体   English   中英

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

[英]why is xcode console output sluggish after app launch in simulator?

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

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

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

iPhone模拟器突然开始运行很慢

加载项目时 Xcode 在启动时冻结

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

当天更改之前的备份不会出现此行为。 我将项目复制到一个新目录,并用备份的源代码替换了所有源代码。 这很好用。 所以我可能会在昨晚从下午 3 点到午夜失去工作,或者在我有磁盘空间来安装 12.5.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]
        }
    }

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

我会把它搬出去。

**

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

**

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

我希望这可以帮助其他人,感谢阅读!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM