2015-11-06 5 views
20

私はリアクションネイティブを使用してアプリケーションを開発していますが、iosとアンドロイド用のコードベースを使用しています。"Debug JS"を有効にしないと、ネイティブ・リアクションネイティブ・ネイティブが非常に遅くなります。

しかし、アンドロイドのバージョンは非常にゆっくり実行されます。奇妙なことは:

私は携帯電話を振ると、 "デバッグJS"をクリックしてクロム機能でデバッグを有効にすると、それは速く実行する、誰かが理由の手掛かりを持っていますか?

答えて

10

デバッグモードで実行しているときと実行していないときのjavascriptコードの実行速度が異なる理由は、デバッグモードを有効にするためにReact NativeがコンピュータのChromeブラウザでコードを実行し、実行の結果はデバイスにブリッジされます。

デバッグモード以外では、コードはデバイス自体のJavaScriptCoreエンジンで実行されます。

つまり、私はなぜ実行が非常に遅いのか説明できません。おそらく低消費電力のデバイス、または割り当てられたメモリが限られたエミュレータで動作していますか?

+1

私はデバイスでもこの遅さを得ています。遠隔デバッグではうまくいきません。私には説明できません。 2015年11月以降、新しいアイデアはありますか? (btwはあなたのredux-offlineを愛しています!) – Noitidart

25

アクティブなconsole.log()行が1つ以上表示されることがあります。 console.log行がある場合は検索して削除する必要があります。

また、すべてのconsole。*メソッドを自動的にクリアするために、babel-plugin-transform-remove-consoleを使用することができます。

+1

万が一redux-loggerを使用していますか?私はconsole.logのパフォーマンスに関連した同様の問題を抱えていました(efkanによると)。 GitHubでこのスレッドをチェックしてください:https://github.com/evgenyrodionov/redux-logger/issues/32 –

+0

私の場合はロガーでしたが、リモートredux開発ツールを使用している場合は実際には必要ありません – dlvx

+0

悪質なログ。具体的には、Reduxに依存し、redux-loggerミドルウェアを使用している場合は、このミドルウェアがdevでのみ実行されていることを確認してください。 redux-loggerはあなたのレデューサーに派遣されたすべてのアクションを記録します。 –

5

ReactネイティブアプリはAndroidで遅く動作します。しかし、そのパフォーマンスは開発中には現実的ではありません。あなたは実際の性能を確認するためにリリースバージョンを構築することができます、リリースバージョンはdevバージョンよりはるかに高速です。

また、あなたのアプリを遅くすることができるいくつかの悪いコードがあります。 console.log()のように、開発中にアプリの速度が遅くなります。不要なビューの再レンダリングを避け、.bindrenderなどで使用しないでください。

0

私はIOSデバイス(ipad4、ios10)で同じ問題を抱えています。私はredux - ロガーを使用しないで、すべてのconsole.logを削除したが、まだアプリケーションがとても遅くなっているか分からない。タブ間を移動するには2秒かかります。

"反応ネイティブの": "0.41.2"
"反応する": "15.4.2"、
"天然塩基": "^ 2.0.10"、

関連する問題