当没有启用" Debug JS"

时间:2015-11-06 09:10:08

标签: reactjs react-native

我正在使用react native开发一个应用程序,我使用ios和android的一些代码库,ios版本运行顺畅。

但是Android版的运行速度非常慢。奇怪的是:

当我摇动手机时,点击" Debug JS"要在chrome功能中启用调试,它运行得更快,任何人都有关于原因的线索吗?

5 个答案:

答案 0 :(得分:29)

有时,一个或多个活动console.log()行会导致此问题。 如果存在,则应搜索并删除console.log行。

同样在制作中,babel-plugin-transform-remove-console可用于自动清除所有控制台。*方法。

答案 1 :(得分:10)

在调试模式下运行时javascript代码的执行速度不同的原因是当您处于调试模式时,为了启用调试体验,React Native会在您计算机上的Chrome浏览器中执行代码,并且执行结果桥接到设备上。

在调试模式之外,代码在设备本身的JavaScriptCore引擎中执行。

那就是说,我无法解释为什么设备执行速度太慢。您是在低功耗设备上运行,还是在分配内存有限的仿真器上运行?

答案 2 :(得分:5)

React Native应用程序在Android上运行速度较慢。但是在开发过程中性能并不真实。您可以构建发布版本来检查实际性能,发布版本比开发版本快得多。

还有一些不良代码会让您的应用变慢。与console.log()一样,它在开发过程中会降低应用程序的速度。避免不必要的重新渲染视图,不要在.bind中使用箭头函数和render等。

答案 3 :(得分:0)

我在IOS设备(ipad4,ios10)上遇到了同样的问题。我不使用redux-logger并删除所有console.log,仍然不知道是什么让应用程序这么慢。在标签之间切换需要2秒。

  

“react-native”:“0.41.2”,
  “反应”:“15.4.2”,
  “native-base”:“^ 2.0.10”,

答案 4 :(得分:0)

我知道这是一个老话题,但是遇到了同样的问题。我应用了上述解决方案,但问题仍然存在。后来我发现该问题是由模拟的USB存储设备而不是作为USB磁盘安装而引起的。因为当您上传签名的Apk文件并从该文件安装名称时,这会导致问题并产生写入错误,例如隐藏,但不会给错误消息太多。我希望从模拟存储设备更改为普通磁盘安装,可以帮助像我一样遇到同样问题的人。