假设您有一个新闻应用程序,例如Yahoo。
当用户运行您的应用并从您的应用移出(不退出该应用)时。
过了一会儿(例如一个小时),他回来了,您想刷新页面(如果他看到Yahoo的首页,则可能有新消息要显示)
这是我不需要担心的事情,因为android实际上处理了长期活动吗?
或者这是我必须自己实现的事情吗?
如果我必须自己做,是否应该通过保存“退出时间”并将其与“恢复时间”等进行实现,或者是否有android / ios支持或github库?
答案 0 :(得分:0)
通过浏览此内容,您可以了解有关Android生命周期和活动的信息 https://developer.android.com/reference/android/app/Activity
如果您使用react-native创建应用程序并将其部署到Android和IOS上,则需要为此使用兼容的react-native模块。
如果您仅考虑使用android应用程序。您可以覆盖onStart()
,onResume()
,onStop()
,onPause()
和onDestroy()
方法来在某些状态下执行所需的操作。
例如:如果您要在重新打开应用程序时重新加载新内容,则需要使用覆盖的onResume()
方法覆盖该刷新条件。
答案 1 :(得分:0)
假设您想在很长一段时间后更新内容,假设您的数据来自要在React Native应用程序中加载的远程源-您可以点击React Native JS生命周期事件之一。
例如,您可以使用componentDidMount()
:
componentDidMount()
在组件安装(插入树中)后立即被调用。需要DOM节点的初始化应在此处进行。如果您需要从远程端点加载数据,那么这是实例化网络请求的好地方。
此方法是设置任何订阅的好地方。如果您这样做,请不要忘记退订componentWillUnmount()
。
如果您想创建自定义的React Native模块,则需要创建一个Android服务-但假设您拥有用于数据的API端点,并且仅当用户与应用进行交互时才会刷新数据-我不明白为什么您需要自定义模块。它已经全部内置。
答案 2 :(得分:0)
您应该使用facebook.github.io/react-native/docs/appstate来检查应用何时变为active
,然后再进行操作。