我有一个片段,显示的数据是通过网络呼叫获取的。
我使用onSaveInstanceState
是为了避免在方向改变时再次获取数据,但是,如果我正确理解了片段的生命周期,只要应用程序从未销毁过(无论是用户明确还是因为Android OS杀死活动(由于缺乏资源而导致的活动))服务器中的数据将永远不会刷新。
如果我正确理解了这一部分,则需要定义某种方式来定期从服务器中重新获取数据,或者还有另一种方式?
答案 0 :(得分:0)
没有有关数据刷新的规则。这取决于您的应用程序,数据等。如果获取收据列表,则无需实现刷新机制。但是,如果您获取货币(我不知道)的汇率,那么您必须拥有一个。
拉动刷新模式怎么样?
答案 1 :(得分:0)
我将使用Android体系结构组件ViewModel和LiveData在屏幕旋转期间保存数据,从而防止多次调用服务器来更改屏幕旋转。这是Google似乎推向其开发人员https://developer.android.com/topic/libraries/architecture/saving-states
的首选方法为防止数据过时,我要么让用户决定何时使用“ Pull to Update”(如另一个答案中所述)进行更新,要么添加一个计时器来更新片段是否在前台。使用此处描述的方法延长时间:https://guides.codepath.com/android/Repeating-Periodic-Tasks