1
在Sharedpreferences
中存儲String
列表中包含太多項目的列表是不是一個好主意?它會傷害應用性能嗎?store arraylist sharedpreferences android
我這樣做是爲了保存:
public boolean saveArray(List<String> contacts) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(_context);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("Status_size", contacts.size());
for (int i = 0; i < contacts.size(); i++) {
editor.remove("Status_" + i);
editor.putString("Status_" + i, contacts.get(i));
}
return editor.commit();
}
,並閱讀:
public void loadArray(Context context) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
_validContactsPhones.clear();
int size = sharedPreferences.getInt("Status_size", 0);
for (int i = 0; i < size; i++) {
_validContactsPhones.add(sharedPreferences.getString("Status_" + i, null));
}
}
唯一的性能可能來自'editor.commit();'。改爲調用'editor.apply()'。 – peter