Android性能:SharedPreferences的成本

soB*_*ary 3 memory performance android sharedpreferences

当我的应用程序启动时,我使用我的分片首选项中的值填充容器类.我的想法是处理SharedPreferences和PreferenceManager,因为我猜他们很重.
这是一个示例:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(cont); 
StorageClass.lifespan = Integer.parseInt( prefs.getString("lifespan", "8") );
StorageClass.hiRate = Integer.parseInt( prefs.getString("hiRate", "71") );
//and on and on for all preferences 
Run Code Online (Sandbox Code Playgroud)

然后其他活动请求这些值.
但随着我的应用程序的增长,主内存变得紧张.

让每个请求者创建一个SharedPreferences实例并获得他们想要的值会更好吗?

谢谢

hac*_*bod 6

SharedPreferences每次请求相同名称的首选项时,都会返回相同的对象.如果不是这样的话,框架内部需要有很多复杂的代码来处理多个SharedPreference对象,当它们中的一个被其中一个更改时,它们保持状态同步.

(这是将其称为"共享"偏好的背后的想法.)