我正在製作一個應用程序,它必須在運行時保存並提取數據,並且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設備上運行。 –