具有不同上下文的共享偏好
Shared preferences with different context
这两者有什么区别:
SharedPreferences prefs = getDefaultSharedPreferences(Application context);
和
SharedPreferences prefs = getDefaultSharedPreferences(Activity context);
我不知道该用哪一个?我想将 prefs 设为静态,这样我就可以在我的 app.is 中的任何地方使用它,可以吗?
在这种情况下应该无关紧要。
如果您查看 the source code,您会发现您传入的上下文用于为您的首选项创建一个名称。这是通过调用 context.getPackageName()
完成的。因此,只要两个上下文 return 具有相同的包名称(并且对于您的应用程序中的任何上下文都应该相同),使用这两个上下文就没有区别。
这两者有什么区别:
SharedPreferences prefs = getDefaultSharedPreferences(Application context);
和
SharedPreferences prefs = getDefaultSharedPreferences(Activity context);
我不知道该用哪一个?我想将 prefs 设为静态,这样我就可以在我的 app.is 中的任何地方使用它,可以吗?
在这种情况下应该无关紧要。
如果您查看 the source code,您会发现您传入的上下文用于为您的首选项创建一个名称。这是通过调用 context.getPackageName()
完成的。因此,只要两个上下文 return 具有相同的包名称(并且对于您的应用程序中的任何上下文都应该相同),使用这两个上下文就没有区别。