ios - `Debug navigator` 面板中的 XCode 内存分析显示 `CPU usage` 高于 100%

标签 ios xcode memory

我是 XCodeiOS 开发的新手。我正在尝试根据 1-2 小时等特定运行时间段的好坏来对我的应用程序进行内存分析。当我的应用程序运行时,XCode 在其 Debug Navigator 面板中提供了非常有用的统计信息。我在 Debug Navigator

中看到以下 5 个数字
CPU
Memory
Energy Impact
Disk
Network
FPS

我的应用在功能方面相当繁重。即使在运行 1 小时后,内存 的数量仍保持在 80 MB 左右。我相信这对我来说是个好消息。但是,CPU 使用率一直徘徊在 105% 到 120% 之间。 然而,令我担心的是 CPU 使用率始终保持在 100% 以上。这是不正常的吗?我是否应该担心 CPU 使用率 一直高于 100% 标记?

Energy Impact 的统计数据显示非常高。不确定我该如何解决这个问题,但我的应用程序经常使用网络。所以,这可能会增加这个数字。 但是任何关于降低此Energy Impact 统计数据的建议也会有所帮助。

注意:除了主线程外,我的应用程序中还有 3 个工作线程在运行。这会增加 CPU 使用率 吗?

最佳答案

您可以通过不让 CPU 一直忙碌来降低能源影响。 100% 或更多的 CPU 使用率意味着手机永远不会进入空闲状态,从而很快耗尽电池电量。 你在做什么需要 100% 的 CPU 使用率?根据我的经验,即使是网络繁重的应用程序也几乎不需要超过百分之几的 CPU 使用率,除非它们正在做一些计算成本非常高的事情,或者当它们正在轮询某事发生时。如果这是第一个昂贵的计算,您可以考虑应用程序的架构并重新考虑是否所有这些处理都需要在设备上进行,或者您是否可以在后端为应用程序提供预处理。如果您正忙于轮询某事,那只是糟糕的设计,您应该重新设计应用程序的那部分,使其成为事件驱动的。

关于ios - `Debug navigator` 面板中的 XCode 内存分析显示 `CPU usage` 高于 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41545961/

相关文章:

ios - 如何使用 iCarousel 淡出 currentItem 之前的所有项目?

ios - 从 iOS 在后台进行蓝牙 LE 设备扫描

android - 如何在 Flutter SharedPreferences 中访问 iOS UserDefaults 存储的数据

ios - 标题未使用 json 设置。 objective-c

ios - UICollectionView 和补充 View 崩溃

ios - 如何在 xcode6 中导入崩溃报告?

ios - 如何在 macOS Mojave 10.14.6 上运行 Xcode 11.4

javascript - 确保 JavaScript 中的构造函数之后忘记变量

debugging - Windbg,如何检查内存段权限?

c - 如何释放子线程中的内存?