应用程序冻结,但CPU使用率随时间增加

MLQ

我已经在这个东西上停留了很多小时,而且我不知道还要搜索什么。

由于调试器没有显示任何错误,但是可重现,因此我无能为力-我在表格视图中点击了一个非常具体的项目,该行为应该消除该模式,然后我的应用程序冻结。表格视图中的其他项目则不会发生这种情况-模态完全关闭,应用继续运行。

我检查了这个答案,怀疑这是一个死锁,但是:

  • 每当我按下调试器中的“暂停”按钮时,主线程都会执行不同的操作。
  • 从Xcode的Debug导航器看到的CPU使用率随时间增加。
  • 我在自定义UIControl的layoutSubviews方法之一上设置了断点,并且不断调用它。它不会调用[super layoutSubviews],也不会调用setNeedsLayout任何人,并且只是设置其子视图的框架,因为我没有使用“自动布局”。

我该如何调试这个东西?我一直在寻找Xcode Instruments,但无法理解所看到的数据。特别是,系统跟踪模板似乎可以在冻结发生时立即停止,这与其他继续记录的模板不同。

补充:我在系统跟踪中看到的内容 我在系统跟踪中看到的内容

MLQ

@ Paulw11的评论有所帮助-与系统跟踪工具相比,Time Profiler模板更适合此任务。

I used the Time Profiler and got led to a bunch of traces that point to the UINavigationBar as the suspect repetitive caller to my custom UIControl's layoutSubviews. To further explain my view hierarchy:

  • My "Home" view controller has a custom title view in its UINavigationItem
  • The custom title view is a custom UIControl that launches a modal when tapped

Here's the deal: If I alloc-initWithFrame my custom UIControl with a frame of CGRectZero, the app freezes. If I provide a garbage initial value to the frame (which is disregarded anyway since UINavigationBar reshapes my custom UIControl) like CGRectMake(0, 0, 10, 10), the crash doesn't happen.

我猜想UINavigationBar对如何布局初始帧为的自定义标题视图感到困惑(0, 0, 0, 0)听起来像是苹果的虫子。

注意:我在iOS 8.2上运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

运行应用程序时,为什么Eclipse CPU使用率会增加?

iOS-从应用程序获取CPU使用率

为什么SpringBoot应用程序的堆内存使用率不断增加?

如何通过Spark应用程序获取内存和CPU使用率?

我可以限制单个应用程序的CPU使用率吗?

Java应用程序中的高CPU使用率-为什么?

检测Java Web应用程序中15%的CPU使用率的原因

如何从/ proc / pid / stat获取应用程序的总CPU使用率?

在内核之间自动分配应用程序的CPU使用率(Windows 8)

限制Java应用程序的内存和CPU使用率

对CPU使用率很高的Java进程进行故障排除-Tomcat应用程序

如何(以编程方式)在 Android 中发现我的应用程序的 CPU 使用率?

Firebase Performance Monitoring SDK如何发现Android应用程序的CPU使用率?

如何监视应用程序而不是单个进程的CPU使用率?

为什么单线程应用程序占用多核并限制cpu使用率

Hadoop纱线应用程序如何获得内存和CPU使用率?

是否可以通过Android 7(牛轧糖)获得应用程序CPU使用率

Win32应用程序具有高CPU使用率

如何在多线程应用程序中达到100%的CPU使用率?

控制台应用程序中的CPU使用率很高

Node.js获得十大应用程序的CPU使用率

Sails js应用程序将CPU使用率提高到100%

将Java应用程序的CPU使用率限制为特定数量

DirectShow(C#),预览FPS和CPU使用率随时间下降

Java raytracer 增加 CPU 使用率

NVIDIA显卡内存使用率applet /应用程序?

应用程序以86%的内存使用率开始(HeapSize)

如何降低我的应用程序的内存使用率?

为什么使用WMI获取CPU使用率会使我的程序冻结几秒钟?