1

首先,为稍微开放式的问题道歉,但我在其他问题中找不到我正在寻找的信息。

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

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

任何朝着正确方向的推动将不胜感激。

4

1 回答 1

2

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

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

使用 AppState,您可以添加捕捉应用程序状态变化的事件监听器,例如进入后台时。

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

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