2017-01-14 123 views
3

我有2个数据集在SharedPreferences中保存字符串的最快方法是什么?

String[] wordsArray; 
Queue<String> wordsQueue; 

它们存储相同的数据,围绕各500串,每串1-3的话。我需要将其中的一个保存到SharedPreference。什么是最好(最快)的方式来做到这一点?

现在我只用

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

但它的工作速度慢于我想要的。

+0

尝试在后台线程中执行更笨重的工作。 –

+0

我是新来的java,仍然不熟悉线程。无论如何,我会尽力这样做,谢谢你的建议。 – Gaijin

回答

3

使用apply()而不是commit()这将保存在后台线程(即异步)的偏好。

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

为了节省的String数组中SharedPreference你可能会考虑做这样的事情表示in this answer

+0

谢谢!我想我只需要更专心地阅读官方文档,哈哈。 – Gaijin

+0

但是有什么办法可以在不将原始列表复制到HashSet的情况下做同样的事情? – Gaijin

+0

请参阅最新的答案。 –

相关问题