当Android App被发送到后台时,它可以保持其实例状态,以防因内存不足而被杀死(请参阅Activity:onSaveInstanceState()和Activity的参数:onCreate(Bundle savedInstanceState)).
默认的Activity行为是保存视图层次结构的状态,因此在很多情况下你不必编写任何代码并且它"只是工作"[tm].
现在反应原生,这不是真的.React本机应用程序托管在单个MainActivity中,其状态包含在应用程序的javascript解释器中.
我在这里创建了一个包含简短文档的示例存储库,如何重现我的问题:https://github.com/einvalentin/react-native-state-test
我希望react-native挂钩到本机android app状态序列化机制,同时为应用程序开发人员提供钩子,以便在需要自定义序列化时进行扩展.或者,我可以看到自己扩展MainActivity以将生命周期事件转发到Javascript层并在那里手动执行一些自定义状态序列化 - 但这感觉有点笨拙.
是否有一种明显的方法我忽略了将状态保存在react-native中,以便在后台杀死的应用程序不会从头开始重新启动?这种情况总是会发生在例如与您的应用程序交互时接听电话的低内存设备上.
非常感谢!