【问题标题】:is it really worthy to have a SharedPreferencesLoader instead of system default?使用 SharedPreferences Loader 而不是系统默认值真的值得吗?
【发布时间】:2013-10-18 22:49:40
【问题描述】:

我发现在同一个活动中支持 2 个以上的加载器。使用第一个参数 loaderId 来切换不同的加载器。对于 SharedPreferencesLoader,只需从 Loader.CallBack 创建一个字段对象的子类,并将其作为最后一个参数传递给 LoadManager initLoader 方法。问题是:使用 SharedPreferencesLoader 而不是系统默认值真的值得吗?有任何证据证明其使用是合理的吗?

【问题讨论】:

    标签: android sharedpreferences loader


    【解决方案1】:

    什么是 SharedPreferencesLoader?这是你自己写的吗?没有理由使用异步加载器来访问 SharedPreferences。

    【讨论】:

    • "什么是 SharedPreferencesLoader?" ——见github.com/commonsguy/cwac-loaderex。 “这是你自己写的吗?” - 不,我做了。 “没有理由使用异步加载程序来访问 SharedPreferences”——最初,您第一次引用 SharedPreferences 时会在当前线程上执行磁盘 I/O。现在,虽然它确实派生了一个线程,但当您第一次尝试从首选项读取/写入时,您仍然会阻塞当前线程,因为 SharedPreferences API 没有考虑到异步加载。
    • 因此,您仍然可以阻塞等待磁盘 I/O 完成的主应用程序线程。可以肯定的是,使用Loader 是多余的,但由于SharedPreferences API 没有给我们任何形式的OnLoadCompletionListener,所以我们为避免阻塞主应用程序线程所做的任何事情都将是多余的。如果你有更好的模式,请写在某个地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多