【问题标题】:What is the fastest way to save set of strings in SharedPreferences?在 SharedPreferences 中保存字符串集的最快方法是什么?
【发布时间】:2017-05-29 21:04:12
【问题描述】:

我有两个数据集

String[] wordsArray;
Queue<String> wordsQueue;

它们存储相同的数据,每个大约 500 个字符串,每个字符串 1-3 个单词。我需要将其中一个保存到SharedPreference。最好(最快)的方法是什么?

现在我只是使用

Set<String> mySet = new HashSet<String>(wordsQueue);
edit.putStringSet("Words", mySet);

但它的运行速度比我想要的慢。

【问题讨论】:

  • 尝试在后台线程中做更大的工作。
  • 我是 java 新手,对线程还不熟悉。无论如何,我会尝试以这种方式进行,谢谢您的建议。

标签: java android sharedpreferences


【解决方案1】:

使用apply() 而不是commit(),这会将首选项保存在后台线程中(即异步)。

Set<String> mySet = new HashSet<String>(wordsQueue);
edit.putStringSet("Words", mySet).apply();

为了将String 的数组保存在SharedPreference 中,您可以考虑执行类似in this answer 的操作。

【讨论】:

  • 谢谢!我想我只是需要更仔细地阅读官方文档,哈哈。
  • 但是有没有办法在不将原始列表复制到 HashSet 的情况下做同样的事情?
猜你喜欢
  • 2013-07-06
  • 2014-01-26
  • 1970-01-01
  • 2021-06-25
  • 2011-09-26
  • 2018-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多