【发布时间】:2012-07-19 00:13:11
【问题描述】:
我正在使用多个 SharedPreferences 在我的应用程序中存储数据。 一些偏好用于很多活动。
我知道 SharedPreferences 在内部由映射支持以实现快速读取访问,并在设置更改时写入 sdcard。
我想知道如果许多活动都访问共享首选项,哪种方式更好:
- 使用活动上下文在每个活动中实例化它。
- 在每个活动中实例化它,但使用应用程序上下文。
- 将其放入例如Application 类,并且只在其中实例化一次,类似于单例。
如果我使用 1. 解决方案,是否每个活动都有一个 sharedpreference 对象?当activity被销毁时,sharedpreference的内部映射会被销毁吗?
如果我使用 2. 解决方案,尽管我在每个活动中调用 getSharedPreferences,但是否只有一个实例?只要应用程序还活着,内部映射是否会在内存中?
希望有人知道 Android 内部如何处理它。
【问题讨论】:
-
我推荐选择三,你可以从你所有的活动中访问,你只需要读一次。
标签: android sharedpreferences android-context