当将Android应用发送到后台时,它可以持续其实例状态,以防其因记忆较低而被杀死(请参阅活动:onsaveinstancestate()和活动的捆绑参数:ongreate(捆绑savedinstancestate))。
默认活动行为正在保存视图层次结构的状态,因此在很多情况下,您不必编写任何代码,并且它"仅能工作" [tm]。
现在,对于反应而言,这是不正确的。React Native Apps托管在单个主动脉中,其状态包含在应用程序中的JavaScript解释中。
我创建了一个带有简短文档的示例存储库,如何在此处重现我的问题:https://github.com/einvalentin/react-native-native-state-test-test
,我希望反应态能够将Android App状态序列化机制钩住,同时为应用程序开发人员提供挂钩,如果他们需要自定义序列化,则可以扩展。另外,我可以看到自己扩展了主要的活动,以将生命周期事件转发到JavaScript层,并在那里手动进行一些自定义状态序列化 - 但这感觉有点笨拙。
我是否有一种明显的方式忽略了将状态保存在反应本地中,以便在后台被杀死的应用不会从头开始重新启动?例如,在与应用程序互动时接收电话的低内存设备上,这总是可以发生的。
非常感谢!
如果您将Redux用于状态管理,则可能应该使用Redux-Persist。如果不是,您有几个不同的选择:
- 异步
- 领域反应本机