我正在开发一个应用程序使用反应原生,我使用一些代码基础的ios和android,ios版本运行流畅。React native for android运行速度非常慢当没有启用“调试JS”
但是Android版本运行速度很慢。奇怪的是:
当我摇动手机,并单击“调试JS”以启用浏览器的功能调试,运行速度更快,任何人有一个关于原因的线索?
我正在开发一个应用程序使用反应原生,我使用一些代码基础的ios和android,ios版本运行流畅。React native for android运行速度非常慢当没有启用“调试JS”
但是Android版本运行速度很慢。奇怪的是:
当我摇动手机,并单击“调试JS”以启用浏览器的功能调试,运行速度更快,任何人有一个关于原因的线索?
在调试模式和不运行时,其原因javascript代码的不同执行速度是当你在调试模式下,为了使调试体验阵营本地执行你的电脑上的Chrome浏览器的代码,执行的结果被桥接到设备上。
在调试模式之外,代码在设备本身的JavaScriptCore引擎中执行。
这就是说,我无法解释为什么设备上的执行速度太慢。您是否正在使用低功耗设备或分配内存有限的模拟器?
有时,一个或多个活动的console.log()
行会导致此问题。 console.log
行应该被搜索并删除,如果它们存在。
此外,babel-plugin-transform-remove-console可以用来自动清除所有控制台。*的方法。
你是否在使用REDX记录器?我有类似的问题与console.log性能相关(如efkan所说)。看看在GitHub上这个线程:https://github.com/evgenyrodionov/redux-logger/issues/32 –
这是在我的情况下,如果使用远程终极版开发工具 – dlvx
偷偷摸摸的日志这实际上是没有必要的记录。更具体地说,如果您依赖Redux并使用redux-logger中间件,请确保此中间件仅在dev中运行。 redux-logger会记录你的减速器上的每一个动作。 –
React Native应用程序在Android上运行速度较慢。但是在开发过程中,性能并不真实。您可以构建发行版来检查真实的性能,发行版比开发版快得多。
也有一些不好的代码可以让你的应用程序变慢。像console.log()
,它确实在开发过程中减慢了应用程序。避免不必要的重新渲染视图,不要使用箭头函数和.bind
中的render
等
我在IOS设备(ipad4,ios10)上有同样的问题。我不使用redux-logger并删除所有console.log,但仍不知道是什么让应用程序变得如此缓慢。在标签之间切换需要2s。
“反应天然”: “0.41.2”,
“反应”: “15.4.2”,
“天然基”: “^ 2.0.10”,
我在设备上也收到了这种缓慢的现象,当我进行远程调试时,它很好,这是我无法解释的。 2015年11月以后,你有什么新想法吗? (顺便说一句,爱你的REDX-离线!) – Noitidart