【问题标题】:Is an iOS app CPU hovering around 100% normal?iOS 应用程序 CPU 徘徊在 100% 左右正常吗?
【发布时间】:2015-10-30 16:14:48
【问题描述】:

无论我离开应用程序多久不碰我的 cpu 都不会低于 90% 左右。我正在使用 Parse,并且已将其范围缩小到 Bolts 耗尽了 CPU。这是正常的吗?有什么办法可以减少用量?

我不相信我有任何会导致它的无限循环。

【问题讨论】:

  • 我更好奇为什么“高”是117%?
  • 您是否在“其他链接器标志”中设置了 -objC 标志?
  • @AlbertRenshaw 117 是多核的组合数
  • 是的,设置了 -objC 标志
  • @AlbertRenshaw 很有趣,但我的项目中有这个标志,而且我没有 CPU 问题。我认为删除该标志会产生隐藏真正问题的副作用。

标签: ios ios9 instruments cpu-usage


【解决方案1】:

不,这不正常,会耗尽用户的电池。这样做的应用绝对不可发布。

如果没有更多的诊断信息,就不可能知道如何减少使用量,但值得花时间去追踪它。

一个起点可以是在 CPU 被固定时暂停调试器中的有问题的线程,并查看代码在做什么。如果它在 Parse 中,正如您的配置文件屏幕截图所示,这不会告诉您太多信息 - 但有时在调试器执行时检查挂钩代码会发现 Instruments 没有的信息。

【讨论】:

  • 很可能有人经常、非常、非常频繁地调用 Parse。
  • 感谢 Paul 的建议,我已将其范围缩小到一个函数,当注释掉该函数时会将 CPU 降至 0%。我仍然不确定为什么,但这与在 Parse 中固定对象有关。
  • 对于任何可能遇到此问题的人,我已修复它。我正在做一个 foreach 并单独固定每个对象。 Parse 具有一次附加对象数组的功能。似乎是 Parse 中的一个错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 1970-01-01
  • 2015-07-30
  • 2011-12-02
相关资源
最近更新 更多