在sample(Welcome to React Native)应用程序处于后台一小时后,对该应用程序执行了电流消耗测试,结果如下:

Sample application with RN version 34 : 31.54mA
Sample application with RN version 22 : 24.60mA

其中,作为示例,本机android应用程序在同一场景中仅消耗约10mA.

使用的工具:

Power monitor (H/w)
Power tool (S/w)

1) 有人能确认上述测试并解释高电流消耗背后的原因吗?

2) 与本机android应用程序相比,react-native 应用程序的电流消耗值更高,这正常吗?

React Native version: RN 0.22 and RN 0.34
Platform : Android

enter image description here

推荐答案

虽然我不知道其内在原因,但我相信下面的陈述是一个很好的假设;

即使在发布模式下安装了应用程序(换句话说,没有npm服务器,应用程序使用local.jsbundle),React Native也必须保持两件事正常工作;

  1. 一个本机线程,可以响应我们的JS代码所需的任何内容(绘制这个,获取地理位置等)
  2. 一个Javascript虚拟机来解释我们的代码.(.jsbundle文件包含在APK中)

我相信,由于增加了负载,react-native 应用程序应该消耗更多的电力,前提是其他一切都是一样的.

React-native相关问答推荐

AxiosError:Reaction Native EXPO开发版本中的网络错误

使用下拉菜单时react 本机react-native-dropdown-select-list,它会将下面的项目向下移动.如何阻止这种情况发生

_react2.default.PropTypes.function 未定义

PanResponder 在第二次拖动时将 Animated.View 捕捉回原始位置

我可以在状态内有一个函数来响应吗?

为什么会出现此错误:Invariant Violation: Cannot update during an existing state transition

在 Docker 中使用 Fastlane 构建 iOS 应用

如何使用 Typescript 在无状态组件上设置 navigationOptions

如果我有 AngularJS 基础知识,怎么学习Thinking in ReactJS呢?

创建新的 react-native 元素时出现Unexpected token import错误

如何在不使用 JSX 的情况下在 React Native 中制作组件?

react-native run-ios 运行失败: Application is unknown to FrontBoard?

如何将 BuildConfig 值传递给依赖模块?

iOS ActionSheet 的 Android 类似功能

在 FlatList 上使用 React Native 搜索过滤器

React Native Android 负边距(Margins)

KeyboardAvoidingView - 隐藏键盘时重置高度

将 async 和 await 与 export const 一起使用

React Native 多行TextInput,文本居中

React Native 项目,有时使用 expo start 获得连接 ECONNREFUSED 127.0.0.1:19001