【发布时间】:2019-02-14 04:40:27
【问题描述】:
在 Android 中定期更新变量的最有效方法是什么?
我有整数,其值必须每秒增加(仅当应用程序打开时),它应该可以通过所有活动/片段访问。
现在这是我的代码:
onCreate() in MainActivity:
Timer timer = new Timer();
TimerTask updateValues = new UpdateValues();
timer.scheduleAtFixedRate(updateValues, 0, 1000);
和 UpdateValues 类:
public static final String MY_PREFS_NAME = "MyPrefsFile"
class UpdateValues extends TimerTask {
public void run() {
SharedPreferences sharedPref = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
int first = sharedPref.getInt("first_key", 0);
editor.putInt("first_key", first + 1);
// a lot of stuff in here
editor.apply();
}
}
【问题讨论】:
-
如果可以将共享首选项对象移动到字段中会更高效,但是您认为这有什么问题?
标签: android performance timer sharedpreferences android-handler