我有一個的onPause和的onResume,看到兩個:的onResume工程,即使活動開始
@Override
public void onResume(){
super.onResume();
String str = "";
SharedPreferences prefs = this.getSharedPreferences(
"com.example.app", Context.MODE_PRIVATE);
for (int i = 0; i<prefs.getAll().size(); i++){
str = prefs.getString(String.valueOf(i), "");
meds.add(str);
adap.add(str);
adap.notifyDataSetChanged();}}
@Override
public void onPause() {
super.onPause();
SharedPreferences prefs = this.getSharedPreferences(
"com.example.app", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
for (int i = 0; i<meds.size(); i++){
editor.putString(String.valueOf(i), meds.get(i));
String str1 = editor.toString();
String str = prefs.getString("0", "");
}
editor.commit();
}
現在能正常工作時,我真的想恢復活動-say,用戶按下後退按鈕。
但是,當我完全重新啓動應用程序(如:關閉程序,再次運行),顯然onResume被調用是因爲我的數據設置爲保存在onPause中的數據。
我剛使用了錯誤的方法嗎? 實際重新啓動應用程序時,我想從我的默認數據開始,而不是使用onPause中保存的內容。
請參閱[Activity LifeCycle](http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle)每次啓動新活動時都會調用OnResume。 – 2014-12-01 19:05:15
嗯。所以如果我不想在重新啓動應用程序時獲得我的數據,我必須在onDestroy中銷燬它們。因爲程序停止時調用onDestroy? – user1862770 2014-12-01 19:08:56
實際上[onDestroy](http://developer.android.com/reference/android/app/Activity.html#onDestroy%28%29)是不可靠的,並且可能不會在某些情況下調用,例如操作系統殺死您的活動滿足記憶要求。 – 2014-12-01 19:15:09