React Native安卓应用即使在后台运行,每小时消耗30毫安电流。

35

在样例(欢迎使用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) 相对于原生安卓应用程序,React Native应用程序具有更高的电流消耗值,这是否正常?

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

enter image description here


1
你是在运行打包的React Native应用程序还是使用NPM服务器?可能这就是区别所在,因为有一个始终连接的套接字。 - Sandro Machado
1
@SandroMachado 这个测试是在已签名的 APK 的 Release 版本上执行的,也就是说 JS bundle 不是通过 NPM 服务器提供的,而是存在于应用程序自身的 assets 中。 - Ramesh Vishnoi
2
你应该将这些信息添加到问题中。 - Sandro Machado
5
向Facebook的同事询问。 - Martin Konicek
1
@MartinKonicek,“'Doesn't seem to be an issue internally at fb'”的意思是,您进行类似与功耗相关的基准测试,并且没有发现类似的问题吗? - Zsombor Erdődy-Nagy
显示剩余6条评论
1个回答

2

虽然我不知道内部细节,但我认为以下陈述是一个好的假设:

即使您已经以发布模式安装了应用程序(换句话说,没有npm服务器,应用程序使用本地.jsbundle),React Native仍必须保持两个功能正常运行:

  1. 本机线程以响应我们的JS代码所需内容(绘制此内容,获取地理位置等)
  2. 一个JavaScript虚拟机来解释我们的代码。(与APK一起包含的.jsbundle文件)

我认为,由于这种额外负载,React Native应用程序应消耗更多电力,假设其他所有条件相等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接