我希望能够为我的应用计算onPause和onResume之间的时间,以便在用户返回应用时知道动画的位置。这是我正在尝试的:
long onPauseTime;
long onResumeTime;
public void onPause() {
super.onPause();
onPauseTime = System.currentTimeMillis();
Log.d(TAG, "onPause: " + onPauseTime);
}
public void onResume() {
super.onResume();
onResumeTime = System.currentTimeMillis();
Log.d(TAG, "onResume: " + onResumeTime);
Log.d(TAG, "Time Gone: " + (onResumeTime-onPauseTime));
}
但onResume方法中onPauseTime始终为0。我做错了什么?
答案 0 :(得分:1)
尝试这样的事情,这样你就可以节省时间,但仍然可以知道你的活动被破坏了多长时间。
public class MyActivity extends Activity{
//Class used to store data
private SharedPreferences preferences;
public void onResume(){
super.onResume();
long end = System.currentTimeMillis();
preferences = PreferenceManager.getDefaultSharedPreferences(this);
long start = preferences.getLong("time",0);
long elapsed = end - start;
}
public void onPause(){
super.onPause();
SharedPreferences.Editor ed = preferences.edit();
ed.putLong("time", System.currentTimeMillis());
ed.commit();
}
}