我必须在适配器中读取一些首选项值。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean value;
我在getView()
(在适配器中)调用以下代码:
value = prefs.getBoolean("key"), false);
我的问题是:将此值预先加载到内存并使用它是否更好?或者我可以保留此代码,Android会自行完成吗?
答案 0 :(得分:1)
在对某些值进行多次修改的应用中使用SharedPreferences
时,最好在稍后的时间点修改内存中的值。您可以将其保存到SharedPreferences
..
例如,您的Application
班级可能会这样:
public class MyApplication extends MultiDexApplication {
public static boolean flag = false;
}
在您的getView
方法中,您正在对计数器值进行多项更改,如下所示:
public class BrandCountriesAdapter extends BaseAdapter {
..
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//....
MyApplication.flag = true;
//....
return convertView;
}
然后,在您的应用中,您可以在首选项中保存flag
值:
prefs.putBoolean("key"), MyApplication.flag);
答案 1 :(得分:0)
问题是:您使用了多少次
prefs.getBoolean("key"), false);
你的代码中有吗?
如果你这样做了一两次可能
value = prefs.getBoolean("key"), false);
就足够了,但是如果你从共享偏好中获得价值多次次,预加载会更快。