【发布时间】:2018-03-20 05:35:41
【问题描述】:
我在应用程序启动时打开 DB(react-native-sqlite-storage)。
我想知道我是否需要在应用程序退出时关闭数据库,
如果是,如何检测该应用程序正在关闭?
还有更一般的问题:
如何处理资源管理,是必需的还是自动完成的?
【问题讨论】:
我在应用程序启动时打开 DB(react-native-sqlite-storage)。
我想知道我是否需要在应用程序退出时关闭数据库,
如果是,如何检测该应用程序正在关闭?
还有更一般的问题:
如何处理资源管理,是必需的还是自动完成的?
【问题讨论】:
不确定是否需要关闭数据库,但如果您愿意,可以使用 React Native 自带的 AppState 组件来判断应用程序何时处于非活动状态(关闭)https://facebook.github.io/react-native/docs/appstate.html
这里还有另一个与How to detect when a React Native app is closed (not suspended)? 非常相似的答案
基本上 1) 在您的 componentDidMount 方法中添加一个事件侦听器,以便一旦组件被渲染,它就知道在应用程序状态“更改”时要注意。
2) 无论您分配给 on change 方法的任何回调,您都可以在该方法中检查应用程序状态是否为“非活动”。
【讨论】: