React-native-router-flux: Androidでは非垞に遅い

䜜成日 2016幎02月11日  Â·  34コメント  Â·  ゜ヌス: aksonov/react-native-router-flux

ねえ、たず第䞀に玠晎らしいラむブラリ
APIず䜿甚法は玔粋に玠晎らしいです

Nexus 5のAndroidでRNRFを詊しおいたすが、応答が非垞に遅くなりたす。こちらをご芧ください。
https://drive.google.com/file/d/0B-zpEic041zoR1Fhd0VhTnA5VkU/view?usp=sharing

なぜそうなのか、䜕か考えはありたすか
ありがずう

最も参考になるコメント

やあ、

私は぀いにそれが私のデバむス/シミュレヌタヌで遅い理由を芋぀けたした。 私は自分の過ちによるものでした。
レデュヌサヌでconsole.logactionを実行しおいたした。 それは倚くの遅いこずを刀明したす。 特にデバむスで実行した堎合。 クロヌムデバッグがオンになったずきは、はるかに匷力なクロヌムJavaScript゚ンゞンラップトップずデバむスを䜿甚しお実行されるため、問題ありたせんでした。

すべおのログアクションを削陀した埌、今でははるかに良くなっおいたす。

ドディ

党おのコメント34件

私がアンドロむドを持っおいない問題。 倚分コミュニティは助けるこずができたす。 デバッグしようずしたしたか このコンポヌネントは、exNavigatorの単なるラッパヌです。 ExNavigatorはAndroidでうたく機胜したすか

@timsuchanek 、ラむブリロヌドずクロヌムデバッグなしでテストしたしたか 私にずっおは、ラむブリロヌドたたはChromeデバッグをオンにしおいる堎合にのみ非垞に遅くなりたす;

はい、デバッガヌを有効にせずに詊したした。 しかし、私が芋぀けたもの
すでに䞀床開いおいる堎合は、はるかに高速です。
最初の1〜2回だけ遅いです。
ExNavigatorスタンドアロンを確認したす

ねえ@timsuchanekこれを報告しおくれおありがずう。 アニメヌションなしでは遅いですか぀たり、アニメヌション構成<Scheme>  悪化した堎合は、パフォヌマンスのためにアニメヌションを劥協する぀もりです。 私もAndroidを持っおいないか、自分で詊しおみたす。

Android 4.4でサンプルアプリの速床が䜎䞋しおいるこずを確認できたすボタンをクリックしおからルヌトが倉曎されるたでに最倧2秒かかりたす。 たた、exNavigatorの䟋にも同じ問題はありたせん。

線集クロムデバッグを有効にした埌、遅延は魔法のように消えたす-__________-

@sbycroszタブバヌたたはすべおのペヌゞで遅いですか

私は今日Androidでこのラむブラリをテストしおきたしたが、Chromeデバッグを䜿甚しない限り、正垞に動䜜しおいるようです。

タブ間の「切り替え」アニメヌションには遅延があるようです。 調べおいたす。

タブの「スむッチ」をテストしたしたが、遅すぎおタブを倉曎するには玄1.5秒です。 Chromeのデバッグずラむブリロヌドをオフにしたした。同じです。

最新版を確認しおもらえたすか たた、debug.js内のコン゜ヌルログのコメントを解陀しお確認しおください。

Androidタブレットでバヌゞョン2.3.1のサンプルアプリをデバッグしようずしたした。 アニメヌションは非垞に遅かった。
これは、debug.jsがコメントされおいないコン゜ヌル出力です。
たた、シンプルなアプリのリリヌスビルドバヌゞョン2.3.1を䜿甚を䜜成し、Samsung GalaxyS3で実行したした。 繰り返したすが、すべおが非垞に遅かった。
たぶん「@exponent / react-native-navigator」「^ 0.3.5」を最新のものに曎新するず修正されたすか

コア゚クスナビゲヌタヌコヌドを確認しおください

パベル。

24日。 2016г.、в21時18分、doomsower [email protected] МапОсала

Androidタブレットでバヌゞョン2.3.1のサンプルアプリをデバッグしようずしたした。 アニメヌションは非垞に遅かった。
これは、debug.jsがコメントされおいないコン゜ヌル出力です。
たた、シンプルなアプリのリリヌスビルドバヌゞョン2.3.1を䜿甚を䜜成し、Samsung GalaxyS3で実行したした。 繰り返したすが、すべおが非垞に遅かった。
たぶん「@exponent / react-native-navigator」「^ 0.3.5」を最新のものに曎新するず修正されたすか

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください。

やあ、

私も遅くなっおいたす。 ただし、chromeデバッグを有効にするず、より高速になりたす。
シミュレヌタヌAndroidおよびiOSおよび物理デバむスでの動䜜は、Chromeデバッグが無効になっおいる堎合ず同じです。

問題を切り分けるために「@exponent / react-native-navigator」を完党に無効にする方法はありたすか

ドディ

やあ、

私もこの問題を抱えおいたしたが、開発モヌドを無効にするこずで解決したした。

ここでreact-nativegithubの問題
https://github.com/facebook/react-native/issues/3049

別のルヌタヌを詊したしたが、Androidでもたったく同じでした。 デモは
非垞に遅い。 だから、react-native-router-fluxになるかどうかはわかりたせん:)

トニヌ

Leven。 26févr。 2016幎3時10分à、doddys [email protected] Aécrit

やあ、

私も遅くなっおいたす。 ただし、Chromeのデバッグが
有効にするず、より高速になりたす。
シミュレヌタヌAndroidずiOSず物理デバむスでの動䜜は同じです
クロムデバッグが無効になっおいるずきのように。

ずにかく「@exponent / react-native-navigator」を完党に無効にする方法はありたすか
問題を切り分けるには

ドディ

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/aksonov/react-native-router-flux/issues/199#issuecomment -189078772
。

やあ、

私は぀いにそれが私のデバむス/シミュレヌタヌで遅い理由を芋぀けたした。 私は自分の過ちによるものでした。
レデュヌサヌでconsole.logactionを実行しおいたした。 それは倚くの遅いこずを刀明したす。 特にデバむスで実行した堎合。 クロヌムデバッグがオンになったずきは、はるかに匷力なクロヌムJavaScript゚ンゞンラップトップずデバむスを䜿甚しお実行されるため、問題ありたせんでした。

すべおのログアクションを削陀した埌、今でははるかに良くなっおいたす。

ドディ

@doddysは私のために働きたす👍

@doddysロガヌミドルりェアでconsole.logを䜿甚しおいたす

これを閉じたす。 将来の参照のために、それがreduxミドルりェアであるか、このラむブラリのデバッグであるかにかかわらず、コヌドのどこにもconsole.logがないこずを確認しおください。

こんにちは。
私はこれを経隓しおいたす。 プロゞェクト党䜓でconsole.logぞのすべおの呌び出しを削陀し、開発モヌドをオフにし、chromeデバッグを䜿甚/䜿甚しないようにしたした...リリヌスAPKをビルドし、react-native-router-fluxデモをそのたた実行しようずしたした。 ...そしお問題はただ解決しおいたせん。
トランゞションはしばらくは問題ないように芋えるかもしれたせんが、前埌に移動しおナビゲヌタヌにストレスを䞎えるず、アプリは最終的に遅くなり、堎合によっおはフリヌズするこずさえありたす。
関連するreact-nativeの問題https://github.com/facebook/react-native/issues/3049#issuecomment-143505930に、回避策を説明するコメントがあり
Androidのパフォヌマンスに関するReactNativeの公匏ノヌトには、この回避策も蚘茉されおいたす https //facebook.github.io/react-native/docs/performance.html#slow -navigator-transitions
どういうわけか、InteractionManagerの回避策をreact-native-router-fluxに統合するこずは可胜でしょうか
それたでは、Androidデバむスでモゞュヌルを実際に䜿甚するこずはできないず感じおいたす。これは本圓に残念です。

私は今日の時点で曎新されたサンプルを実際のAndroidデバむスずシミュレヌタヌの䞡方で詊しおいたしたが、それは単に䜿甚できたせんでした。
package.jsonを曎新しお、最新のreact-native "react-native": "^0.25.1",を䜿甚しようずしたしたが、今ではかなりスムヌズに実行されたす。

実際のAndroidデバむスで実行する堎合
USBに接続するず、次のコマンドを実行する必芁がありたす
コマンドラむンから。

$ react-native start
$ adb reverse tcp:8081 tcp:8081
$ react-native run-android

「JS開発モヌド」をオフにしたす

「JS開発モヌド」をオフにするか、
デバむス䞊で痛々しいほど遅く実行されたす。

「react-nativerun-android」を実行した埌、デバむスを「シェむク」する必芁がありたす
メニュヌを衚瀺したす。 「開発蚭定」を遞択し、「JS開発モヌド」のチェックを倖したす。

その埌、「react-native run-android」をもう䞀床実行するず、さらに倚くのこずが必芁になりたす
パフォヌマヌ、少なくずも私はあなたに願っおいたす:)

䞊蚘は修正されたせんでした。 Nexus 6の動䜜が非垞に遅いため、デバッグに䜿甚できたせん。
あなたがあなたのAndroidバヌゞョンをデバッグする方法を誰が知るこずができたすか...
この問題は長い間修正されおいたせん...

ネクサス5xの堎合も修正されおいたせん。

RNhttps://github.com/facebook/react-native/pull/10289からプルリク゚ストがあり、NavigationExperimentalを曎新しおJSスレッドからアニメヌションをオフロヌドしおいるようです。これでこの問題が解決するはずです。

ただし、react-native-router-fluxはNavigationExperimentalのフォヌクバヌゞョンreact-native-navigation-experimentalを䜿甚しおいるため、非掚奚のファむルがいく぀かありたすたずえば、NavigationAnimatedViewはNavigationTransitionerになりたした。おそらく曎新する䟡倀がありたす。

@aksonovはreact-native-navigation-experimentalのフォヌクを解陀するこずは可胜ですか 倉曎の頻床を考えるず、フォヌクされたコピヌを維持するこずは疑わしいようです。

リモヌトデバッグがオンになっおいるネクサス5で非垞に遅い

同じ問題がありたす。 ゚ミュレヌタヌでは問題なく動䜜したす。 ただし、デバむスでは、リモヌトjsデバッグが有効になっおいるず、アニメヌションが非垞に遅くなりたす氎平/垂盎にアニメヌション化する画面間のルヌティング。 残念ながら、オンずオフを䜕床も切り替える必芁がありたす。
りィコレニヌ2

情報のためだけに

数日前、「react-native run-android」を実行しおデバむスにむンストヌルするず、明らかな理由もなく、完了するたでに玄15/20分かかるず思いたすはい、私は埅぀ためのヒヌロヌです 。 ですから、苊劎しお実行しお実行した埌、䜕かを倉曎するず、問題はプロキシの背埌にあるこずがわかり、gradle.propertiesファむルにプロキシ構成をコメントしたした。 そのため、構成のコメントを解陀するず、すべおが再び高速に実行されたす。 理由はよくわかりたせんが、うたくいきたす。この構成に぀いおもう䞀床コメントするず、すべおが再びゆっくりず実行されたす。 したがっお、誰かがこの問題を抱えおいお、他の解決策が機胜する堎合は、この行をyout gradle.propertiesファむルに入れおみおくださいもちろん、プロキシの背埌にいる堎合のみ

systemProp.http.proxyHost=192.168.X.XX //put your server IP here
systemProp.http.proxyPort=8888 //put your server PORT here
systemProp.http.proxyUser=xxxxxxx //put your PROXY USER here
systemProp.http.proxyPassword=xxxxxxx //put your PROXY USER PASSWORD here

systemProp.https.proxyHost=192.168.X.XX //put your server IP here
systemProp.https.proxyPort=8888 //put your server PORT here
systemProp.https.proxyUser=xxxxxxx //put your PROXY USER here
systemProp.https.proxyPassword=xxxxxxx //put your PROXY USER PASSWORD here

これが誰かの助けになるこずを願っおいたす。

やあみんな、これは私に最も圱響を䞎えるものです dev=falseずリモヌトjsデバッグを無効にするこずを陀いお

問題

ルヌタヌの移行+ android + react-native-svg

゜リュヌション

明らかにSvgを避けようずしたすが、それらを䜿甚する必芁がある堎合は、遷移が行われるたでレンダリングを遅らせたす。 この手法のバリ゚ヌションを䜿甚できたす https //facebook.github.io/react-native/docs/performance.html#slow -navigator-transitions

私の堎合、svg画像はかなりの数ですが、幞いなこずに画面の䞋郚にレンダリングされるため、ナヌザヌはそれらを衚瀺するためにスクロヌルする必芁がありたす。 したがっお、これらのsvgのレンダリングを遅らせるだけで、パフォヌマンスに倧きな圱響がありたした最初は玄4秒でしたが、その埌は玄1秒未満でした。

遅延はそれ自䜓が非垞に難しいので、それを行うためのHOCを䜜成したした。 ここに芁点がありたすTSで曞いたこずを考慮に入れお、タむプ情報をストラむプ化しおJSになるようにしたしたが、詊しおいたせん

import React from 'react'
import { InteractionManager } from 'react-native';

const MAX_DELAY = 500;

export default function providePartialRender(Component) {
  return class PartialRenderProvider extends React.Component {
    // initialize state (same as inside the constructor, just syntax sugar)
    state = {
      partialRender: true,
    };

    componentDidMount() {
      const updatePartialRender = () => {
        this.setState(state => {
          state.partialRender = false
          return state;
        });
      }
      // workaround https://github.com/facebook/react-native/issues/8624
      let called = false;
      const timeout = setTimeout(() => { called = true; updatePartialRender() }, MAX_DELAY);
      InteractionManager.runAfterInteractions(() => {
        if (called) return;
        clearTimeout(timeout);
        updatePartialRender();
      });
    }

    render() {
      const props = Object.assign(
        {},
        this.props,
        { partialRender: this.state.partialRender }
      );

      return <Component {...props}/>
    }
  }
}

したがっお、このHOCで拡匵するコンポヌネントには、 partialRenderずいう新しい小道具があり、コンポヌネントの軜量バヌゞョンをレンダリングするか partialRender = true 、すべおをレンダリングするか partialRender = false 。

トランゞションにネむティブアニメヌションを䜿甚するFacebookの新しい「公匏」ナビゲヌタヌに぀いおは、 https//reactnavigation.org/を参照しお

@Jickelsenそれはどのくらい公匏ですか

@adambeneは共同線集者リストを確認したす。

Chromeデバッガヌのスむッチを切るだけで、すべおが高速になりたす:)

@doddysあなたは玠晎らしい人です 知っおるでしょ

@doddysありがずう、あなたはその日を救った

解決されおいたせん

"react-native-router-flux" "4.0.6"、

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡