xcode - 在 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)
解决方案
我想我找到了解决方案。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 的某种轮询。
推荐阅读
- javascript - Get and merge all the documents in MongoDB which were inserted in the last minute by using Node.js
- c++ - 在函数超出范围后保留特征矩阵不被删除
- deep-learning - 描述基于 LSTM 层/网络的工作负载时缺少特征大小
- java - 列出字符串中的字符
- jenkins - Jenkins 流水线持续集成
- python - 如何将文件夹中的多个 ann 文件(来自 brat 注释)读入一个 pandas 数据帧?
- c# - MongoDB 按 id 更新
- flutter - 你好,你知道这个包裹是从哪里来的吗?包:flutter_gen/gen_l10n/gallery_localizations.dart
- java - azure identity java sdk抛出MutableCoercionConfig错误
- npm - 如何找到具有特定依赖关系的 NPM 模块版本 - 例如,哪个版本的 webpack-cli 与 webpack@4.46.0 一起使用?