我使用共享偏好保存了一些数据,例如用户ID(向apirest发出请求),接下来我有一个活动,其中包含3个将使用此ID的片段。我应该在每个片段中获取数据(id)获取共享首选项吗?或者我应该在主活动中使用getSharedPreferences并使用bundle传递id?
我的问题:哪个选项更快,消耗的资源更少?为什么?谢谢先进..
答案 0 :(得分:0)
将其作为额外内容传递的问题是它可能无法在Fragment重新创建时恢复。在Fragment破坏自身以重新实例化或任何其他不可预见的事件之前,您可能需要通过保存值来预先注意。
考虑到这一点,从SharedPreferences
获取id是个好主意。读取操作不像写入操作那么昂贵(这就是为什么存在异步apply()
方法)。
答案 1 :(得分:0)
为SharedPreferences创建一个单例类