首页 > 解决方案 > 在 iOS 模拟器上运行 React Native 应用程序时诊断进程的高 CPU 负载

问题描述

我已经使用 React Native 开发了几年,但以下行为最近才开始。在 iOS 模拟器上(直接从 Xcode 或通过react-native run-ios)运行任何 React Native 应用程序后,诊断过程会在几分钟后缓慢地将 CPU 使用率增加到 150%。我的笔记本电脑变得无法使用,因为该进程也占用了操作系统的所有文件句柄。谷歌搜索只会指出过度的日志记录,但要么我没有在正确的位置寻找,要么没有大量的日志记录发生。

通过在模拟器中按下 Home 按钮关闭应用程序会立即停止高 CPU 负载。

有人也遇到这种情况吗?我怎样才能找出造成这种情况的原因?

MacOS Catalina 版本 10.15.3、Xcode 版本 11.4、React 版本 16.9.0、React Native 版本 0.61.5、模拟器 iPhone 11 (iOS 13.4)

标签: xcodereact-nativeios-simulatorcpu-usage

解决方案


我想我找到了解决方案。Xcode 记录了很多包含以下内容的行:xcode nw_connection_get_connected_socket Client called nw_connection_get_connected_socket on unconnected nw_connection. 这是在几个月前对 Xcode 进行了一些更新之后开始的。禁用日志记录已停止诊断进程消耗所有操作系统资源。我遵循了这些说明:隐藏奇怪的不需要的 Xcode 日志

基本上归结为向方案(运行)添加一个OS_ACTIVITY_MODE具有值的环境变量。disable

记录的真正原因是我仍然不知道。它看起来像是来自 React Native 的某种轮询。


推荐阅读