React native在Android上创建多个rootView

React native在Android上创建多个rootView,android,react-native,Android,React Native,我现在使用的是React Native 0.53.0,问题是它创建了多个RootView,因此由于创建了多个RootView,应用程序的速度越来越慢 我在两台不同的笔记本电脑上测试了由命令“react native init XX”创建的初始项目,其行为仍然相同 我在react原生android代码中打印了一些日志,看看为什么会发生这种情况,下面是我到目前为止的发现 当我第一次安装应用程序并关闭应用程序时,应用程序状态变为暂停 我通过按下应用程序图标再次打开应用程序,ReactActivity.

我现在使用的是React Native 0.53.0,问题是它创建了多个RootView,因此由于创建了多个RootView,应用程序的速度越来越慢

我在两台不同的笔记本电脑上测试了由命令“react native init XX”创建的初始项目,其行为仍然相同

我在react原生android代码中打印了一些日志,看看为什么会发生这种情况,下面是我到目前为止的发现

当我第一次安装应用程序并关闭应用程序时,应用程序状态变为暂停

我通过按下应用程序图标再次打开应用程序,ReactActivity.onCreate()再次被调用,即使应用程序在后台。因此,可以创建另一个RootView,而无需分离前一个

所以打印的日志如下所示


  • ReactActivity.onCreate()我通过在AndroidManifest.xml中添加android:launchMode=“singleTop”解决了这个问题。你能分享Github的问题吗?这样其他人也可以跟踪它吗?谢谢
    02-26 11:01:08.567 19203 19203 D ReactNative: ReactActivityDelegate.LoadApp
    02-26 10:59:38.316 19203 19203 D ReactNative: ReactInstanceManager.ctor()
    02-26 10:59:38.357 19203 19203 D ReactNative: ReactInstanceManager.createReactContextInBackground()
    02-26 10:59:38.357 19203 19203 D ReactNative: ReactInstanceManager.recreateReactContextInBackgroundInner()
    02-26 10:59:38.366 19203 19203 D ReactNative: ReactActivityDelegate.onResume()
    02-26 10:59:41.219 19203 19203 D ReactNative: ReactInstanceManager.onJSBundleLoadedFromServer()
    02-26 10:59:41.219 19203 19203 D ReactNative: ReactInstanceManager.recreateReactContextInBackground()
    02-26 10:59:41.219 19203 19203 D ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread()
    02-26 10:59:41.233 19203 19239 D ReactNative: ReactInstanceManager.createReactContext()
    02-26 10:59:41.290 19203 19239 D ReactNative: Initializing React Xplat Bridge.
    02-26 10:59:41.294 19203 19239 D ReactNative: Initializing React Xplat Bridge before initializeBridge
    02-26 10:59:41.315 19203 19239 D ReactNative: Initializing React Xplat Bridge after initializeBridge
    02-26 10:59:41.315 19203 19239 D ReactNative: CatalystInstanceImpl.runJSBundle()
    02-26 10:59:41.318 19203 19242 D ReactNative: ReactInstanceManager.setupReactContext()
    02-26 10:59:41.318 19203 19242 D ReactNative: CatalystInstanceImpl.initialize()
    02-26 10:59:41.320 19203 19242 D ReactNative: ReactInstanceManager.attachRootViewToInstance()
    02-26 10:59:43.185 19203 19241 I ReactNativeJS: Running application "Lish" with appParams: {"rootTag":1}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
    02-26 11:00:33.905 19203 19203 D ReactNative: ReactActivityDelegate.onPause()
    02-26 11:00:49.536 19203 19203 D ReactNative: ReactActivity.onCreate()
    02-26 11:00:49.536 19203 19203 D ReactNative: ReactActivityDelegate.LoadApp()
    02-26 11:00:49.536 19203 19203 D ReactNative: LoadApp
    02-26 11:00:49.538 19203 19203 D ReactNative: ReactInstanceManager.attachRootViewToInstance()
    02-26 11:00:49.546 19203 19203 D ReactNative: ReactActivityDelegate.onResume()
    02-26 11:00:50.445 19203 19241 I ReactNativeJS: Running application "Lish" with appParams: {"rootTag":11}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
    02-26 11:01:06.466 19203 19203 D ReactNative: ReactActivityDelegate.onPause()
    02-26 11:01:08.567 19203 19203 D ReactNative: ReactActivity.onCreate
    02-26 11:01:08.567 19203 19203 D ReactNative: ReactActivityDelegate.LoadApp
    02-26 11:01:08.568 19203 19203 D ReactNative: ReactInstanceManager.attachRootViewToInstance()
    02-26 11:01:08.575 19203 19203 D ReactNative: ReactActivityDelegate.onResume()
    02-26 11:01:13.755 19203 19241 I ReactNativeJS: Running application "Lish" with appParams: {"rootTag":21}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
    
    02-26 11:02:12.532 19393 19393 D ReactNative: ReactActivity.onCreate
    02-26 11:02:12.532 19393 19393 D ReactNative: ReactActivityDelegate.LoadApp
    02-26 11:02:12.532 19393 19393 D ReactNative: LoadApp
    02-26 11:02:12.537 19393 19393 D ReactNative: ReactInstanceManager.ctor()
    02-26 11:02:12.593 19393 19393 D ReactNative: ReactInstanceManager.createReactContextInBackground()
    02-26 11:02:12.593 19393 19393 D ReactNative: ReactInstanceManager.recreateReactContextInBackgroundInner()
    02-26 11:02:12.594 19393 19393 D ReactNative: ReactInstanceManager.onJSBundleLoadedFromServer()
    02-26 11:02:12.595 19393 19393 D ReactNative: ReactInstanceManager.recreateReactContextInBackground()
    02-26 11:02:12.595 19393 19393 D ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread()
    02-26 11:02:12.630 19393 19393 D ReactNative: ReactActivityDelegate.onResume()
    02-26 11:02:12.642 19393 19413 D ReactNative: ReactInstanceManager.createReactContext()
    02-26 11:02:12.781 19393 19413 D ReactNative: Initializing React Xplat Bridge.
    02-26 11:02:12.786 19393 19413 D ReactNative: Initializing React Xplat Bridge before initializeBridge
    02-26 11:02:12.796 19393 19413 D ReactNative: Initializing React Xplat Bridge after initializeBridge
    02-26 11:02:12.797 19393 19413 D ReactNative: CatalystInstanceImpl.runJSBundle()
    02-26 11:02:12.798 19393 19421 D ReactNative: ReactInstanceManager.setupReactContext()
    02-26 11:02:12.798 19393 19421 D ReactNative: CatalystInstanceImpl.initialize()
    02-26 11:02:12.803 19393 19421 D ReactNative: ReactInstanceManager.attachRootViewToInstance()
    02-26 11:02:14.801 19393 19420 I ReactNativeJS: Running application "Lish" with appParams: {"rootTag":1}. __DEV__ ===     true, development-level warning are ON, performance optimizations are OFF
    02-26 11:02:18.928 19393 19393 D ReactNative: ReactActivityDelegate.onPause()
    02-26 11:02:24.118 19393 19393 D ReactNative: ReactActivityDelegate.onResume()
    02-26 11:02:26.129 19393 19393 D ReactNative: ReactActivityDelegate.onPause()
    02-26 11:02:28.815 19393 19393 D ReactNative: ReactActivityDelegate.onResume()
    02-26 11:02:30.567 19393 19393 D ReactNative: ReactActivityDelegate.onPause()
    02-26 11:02:34.610 19393 19393 D ReactNative: ReactActivityDelegate.onResume()