React Native 生命周期和重启

React Native lifecycle and restarts

首先,对于稍微开放式的问题表示歉意,但我无法在其他问题中找到我正在寻找的信息。

我正在尝试了解 iOS 和 Android 上 RN 应用程序的生命周期。我了解应用程序在您第一次启动时启动并在 phone 处于活动状态时保持 运行,但是当用户切换到另一个应用程序并返回时会发生什么,或者他们的屏幕超时然后他们切换它回来了吗?如果应用程序只是因为他们短暂地切换到检查他们的电子邮件而重新启动,那将是非常烦人的。

我的具体用例(对于这个一般性问题不是特别重要,但包括在上下文中)是我正在尝试构建一个具有 socket.io 连接的游戏,我想知道我是否可以连接到事件查看该应用程序是否一直在后台,或者我是否需要。我找到了一种强制重启的方法,这在某些时候可能是必要的,但我宁愿尝试重新连接已经断开连接的东西,如果我能知道什么时候会发生这种情况。

如有任何正确方向的推动,我们将不胜感激。

如您所述,应用进入后台后不会重新启动。应用保持其状态,用户看到他们访问的最后一个屏幕。

你应该看看 React Native 的 AppState https://facebook.github.io/react-native/docs/appstate

使用 AppState,您可以添加 EventListener,以捕获应用程序状态的变化,例如进入后台时。

当然这里也有一些问题...

  1. 您无法捕获 "kill "事件。您只能检测应用程序是否被发送到后台,但遗憾的是您无法检测用户何时选择 "kill" 应用程序
  2. 当您的应用程序处于后台时,您不能运行任何代码。这在您的情况下可能很严重,但您应该对其进行评估。例如,如果您有一个计时器,并且您将应用程序发送到后台,那么计时器就会停止。