【问题标题】:Android performance: cost of SharedPreferencesAndroid 性能:SharedPreferences 的成本
【发布时间】:2011-10-04 15:45:43
【问题描述】:

当我的应用程序启动时,我使用来自我的分片首选项的值填充一个容器类。这个想法是处理 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 

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

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

谢谢

【问题讨论】:

  • 不用担心解析容易出错,我只是缩短了可读性

标签: android performance memory sharedpreferences


【解决方案1】:

每次请求同名首选项时,都会返回相同的SharedPreferences 对象。如果不是这种情况,框架内将需要大量复杂的代码来处理多个SharedPreference 对象,在其中一个对象更改时保持其状态同步。

(这就是将其称为“共享”偏好的一种想法。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 2021-07-25
    • 2011-05-14
    相关资源
    最近更新 更多