反应本机生命周期并重新启动

时间:2018-09-07 09:18:30

标签: react-native android-lifecycle lifecycle ios-lifecycle

首先,对稍为开放的问题表示歉意,但在其他问题中找不到所需的信息。

我试图了解iOS和Android上RN应用程序的生命周期。我了解您在首次启动应用程序时启动了应用程序引导程序,并且在手机还处于运行状态时仍保持运行状态,但是当用户切换到其他应用程序并返回,或者他们的屏幕超时然后重新打开时会发生什么?如果仅因为他们短暂切换以检查电子邮件,就重新启动了应用程序,那真是令人讨厌。

我的特定用例(对这个通用问题不是特别重要,但对于上下文来说是包括在内)是我正在尝试使用socket.io连接构建游戏,并且想知道是否可以挂入事件以查看是否应用程序已经在后台或什至需要。我已经找到了一种强制重启的方法,在某些时候这可能是必要的,但是我宁愿尝试重新连接那些断开连接的设备,如果我能确定何时发生这种情况。

任何朝正确方向的推动都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

您所描述的应用程序在后台运行时不会重新启动。该应用程序保持其状态,用户可以看到他们访问的最后一个屏幕。

您应该看一下react native的AppState https://facebook.github.io/react-native/docs/appstate

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

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

  1. 您无法捕获“杀死”事件。您只能检测应用是否发送到后台,但不幸的是,您无法检测到用户何时选择“杀死”该应用
  2. 您的应用程序在后台运行时,您将无法运行任何代码。在您的情况下,这可能很严重,但您应该对其进行评估。例如,如果您有一个计时器并将应用程序发送到后台,则计时器将停止。