2015-11-06 188 views

回答

10

在调试模式和不运行时,其原因javascript代码的不同执行速度是当你在调试模式下,为了使调试体验阵营本地执行你的电脑上的Chrome浏览器的代码,执行的结果被桥接到设备上。

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

这就是说,我无法解释为什么设备上的执行速度太慢。您是否正在使用低功耗设备或分配内存有限的模拟器?

+1

我在设备上也收到了这种缓慢的现象,当我进行远程调试时,它很好,这是我无法解释的。 2015年11月以后,你有什么新想法吗? (顺便说一句,爱你的REDX-离线!) – Noitidart

25

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

生产

此外,babel-plugin-transform-remove-console可以用来自动清除所有控制台。*的方法。

+1

你是否在使用REDX记录器?我有类似的问题与console.log性能相关(如efkan所说)。看看在GitHub上这个线程:https://github.com/evgenyrodionov/redux-logger/issues/32 –

+0

这是在我的情况下,如果使用远程终极版开发工具 – dlvx

+0

偷偷摸摸的日志这实际上是没有必要的记录。更具体地说,如果您依赖Redux并使用redux-logger中间件,请确保此中间件仅在dev中运行。 redux-logger会记录你的减速器上的每一个动作。 –

5

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

也有一些不好的代码可以让你的应用程序变慢。像console.log(),它确实在开发过程中减慢了应用程序。避免不必要的重新渲染视图,不要使用箭头函数和.bind中的render

0

我在IOS设备(ipad4,ios10)上有同样的问题。我不使用redux-logger并删除所有console.log,但仍不知道是什么让应用程序变得如此缓慢。在标签之间切换需要2s。

“反应天然”: “0.41.2”,
“反应”: “15.4.2”,
“天然基”: “^ 2.0.10”,