主要活动的每个片段或包中的Android共享偏好?

时间:2017-08-25 13:52:56

标签: android android-fragments sharedpreferences bundle

我使用共享偏好保存了一些数据,例如用户ID(向apirest发出请求),接下来我有一个活动,其中包含3个将使用此ID的片段。我应该在每个片段中获取数据(id)获取共享首选项吗?或者我应该在主活动中使用getSharedPreferences并使用bundle传递id?

我的问题:哪个选项更快,消耗的资源更少?为什么?谢谢先进..

2 个答案:

答案 0 :(得分:0)

将其作为额外内容传递的问题是它可能无法在Fragment重新创建时恢复。在Fragment破坏自身以重新实例化或任何其他不可预见的事件之前,您可能需要通过保存值来预先注意。

考虑到这一点,从SharedPreferences获取id是个好主意。读取操作不像写入操作那么昂贵(这就是为什么存在异步apply()方法)。

答案 1 :(得分:0)

为SharedPreferences创建一个单例类