私は、一部でReact Nativeを使用するアプリケーションを作成していますが、すべてではありません。アンロード/解放/削除ランタイムからのネイティブビューに反応する
は私がRCTRootView
のインスタンスnil
にそれを設定し、それを解放していないようですスーパービューから削除しています。
CPUとRAMが高いので、Reactアプリはまだスレッド上で実行されているようです。
どうすればいいですか?
感謝:)
私は、一部でReact Nativeを使用するアプリケーションを作成していますが、すべてではありません。アンロード/解放/削除ランタイムからのネイティブビューに反応する
は私がRCTRootView
のインスタンスnil
にそれを設定し、それを解放していないようですスーパービューから削除しています。
CPUとRAMが高いので、Reactアプリはまだスレッド上で実行されているようです。
どうすればいいですか?
感謝:)
あなたは、ビューだけでなく、別途、独自のRTCBridgeを作成し、それを解放する必要がある(=ゼロ)。
私はこの回答を見つけましたが、残念ながら新しいRCTRootViewを作成するたびに私の記憶はまだまだ登場しています。私は自分のRCTBridgeと自分のRCTRootViewを作成し、それをいくつかのUIViewController内に張り付けます。 UIViewControllerがなくなると、なぜ何も設定しなくてもいいのですか?スタックはちょうど遠ざかりませんか?私たちはARC前の日ではありませんが、私は何が欠けていますか? – yura
RCTBridge * bridge
[bridge invalidate];
bridge = nil;
無効にするとnilはjsbundleのすべてのモジュールをクリアし、メモリからRCTRootViewインスタンスをクリアします。 ブリッジはRCTBridgeのオブジェクトです。
私はこれに多くの時間を失った。ありがとう! –
[Bridge] Reactネイティブコンポーネントを含むViewControllerをポップアップするときにメモリを解放する#1487 https://github.com/facebook/react-native/issues/1487 – Gaston
autoReleasePoolを試しましたか? – Gihan