我正在制作一个应用程序,它必须在运行时保存并提取数据,并且sharedPrefrences正在使我的动画滞后。那么有没有一种方法可以在非UI线程上保存和检索数据。可以并且应该在非UI线程上提交SharedPreferences,如果是的话,该怎么做?
还是有我的方法
private void difficultyHandler(){
sharedPref = this.getSharedPreferences(getString(R.string.lScore),Context.MODE_PRIVATE);
difficulty = sharedPref.getInt(getString(R.string.difficultyController),0);
if (times >= 1){
long latestScore1 = sharedPref.getLong(getString(R.string.lScore1),0);
long latestScore2 = sharedPref.getLong(getString(R.string.lScore2),0);
editor = sharedPref.edit();
editor.putLong(getString(R.string.lScore1),score);
editor.putLong(getString(R.string.lScore2),latestScore1);
if(latestScore1 >= 60 && latestScore2 >=60 && latestScore1 < 140 && latestScore2 <140){
difficulty = 2;
}else if (latestScore1 < 60 && latestScore2 < 60){
difficulty = 1;
}else if(latestScore1 >= 140 && latestScore2 >=140){
difficulty = 3;
}
editor.putInt(getString(R.string.difficultyController),difficulty);
editor.commit();
}
还有一个方法,像这样的任何问题。
有没有办法把整个方法放在另一个线程上。
基本上我想解决滞后的问题。
*** SharedPreferences使事情变慢***真的吗? ,首先我想知道什么类型的数据以及您在SharedPreferences中保存的数据量,看看您的方法,但不是那么可观。 – nobalG
@nobleG我有32个阅读和写作活动,并在API 14级别的Xperia E设备上运行。 –