gpt4 book ai didi

android - 我们可以并且应该在非 UI 线程上提交 SharedPreferences,如果是的话如何?

转载 作者:行者123 更新时间:2023-11-29 17:13:48 25 4
gpt4 key购买 nike

我正在制作一个应用程序,它必须在运行时保存和提取数据,而 sharedPrefrences 使我的动画滞后。那么有没有一种方法可以在非 UI 线程上保存和检索数据。

还是我的方法有问题

    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();
}

还有一种方法是这样的。

有没有办法将整个方法放在另一个线程上。

基本上我想解决滞后的问题。

最佳答案

so is there a way to save and retrieve data on NON-UI thread.

SharedPreferences 被缓存。第一次尝试访问给定的 SharedPreferences(例如,getSharedPreferences())时,将出现磁盘 I/O。欢迎您在后台线程上完成这项工作,在您需要首选项之前的某个时间。

您可以调用 apply(),而不是 commit(),以在框架提供的后台线程上持久保存对 SharedPreferences 的更改.

关于android - 我们可以并且应该在非 UI 线程上提交 SharedPreferences,如果是的话如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39818164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com