public class MainActivity extends Activity { private static final String TAG="MainActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if(savedInstanceState!=null){ Log.e(TAG, "oncreate|reade page----"+savedInstanceState.getString("page")); } System.out.println("11111"); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } /** * Acitivity存在被系統回收的可能(只要有可能)才會調用此方法,這是為了給使用者進行資料儲存的機會,當然你也可以不儲存 * 如果是認為的按下BACK鍵銷毀當前Acitivity那麼 onSaveInstanceState方法不會執行 * * 關於這個可能: * 1 按下電源鍵 * 2 跳轉到別的Activity * 3 按下HOME 或者長按Home選擇其他應用 * 4 橫豎屏切換 * * 但我們儲存資料一般不是在此方法中 因為從setting中停止應用程式 該方法不會被執行的 * 一般在生命週期的onStop方法中儲存資料 */ @Override protected void onSaveInstanceState(Bundle outState) { // TODO Auto-generated method stub Log.e(TAG, "onSaveInstanceState run.."); outState.putCharSequence("page", "第八頁"); super.onSaveInstanceState(outState); } /** * onRestoreInstanceState只有在Activity確實被系統回收了才會被調用,比如橫豎屏切換onRestoreInstanceState就會被執行 * 一般來說按Home鍵 再去回到Activity,Acitivity一般不被系統銷毀,onRestoreInstanceState也不會被調用 * onRestoreInstanceState(Bundle savedInstanceState)的參數也傳入到了onCreate(Bundle savedInstanceState) * */ @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { // TODO Auto-generated method stub Log.e(TAG, "onRestoreInstanceState run.."); Log.e(TAG, "onRestoreInstanceState|reade page----"+savedInstanceState.getString("page")); super.onRestoreInstanceState(savedInstanceState); } }
05-04 12:39:24.129: E/MainActivity(13121): onSaveInstanceState run..
05-04 12:39:24.539: E/MainActivity(13121): oncreate|reade page----第八頁
05-04 12:39:24.539: E/MainActivity(13121): onRestoreInstanceState run..
05-04 12:39:24.539: E/MainActivity(13121): onRestoreInstanceState|reade page----第八頁
05-04 12:40:22.919: E/MainActivity(13121): onSaveInstanceState run..
05-04 12:40:28.379: E/MainActivity(13121): oncreate|reade page----第八頁
05-04 12:40:28.379: E/MainActivity(13121): onRestoreInstanceState run..
05-04 12:40:28.379: E/MainActivity(13121): onRestoreInstanceState|reade page----第八頁
05-04 12:39:24.129: E/MainActivity(13121): onSaveInstanceState run..
05-04 12:39:24.539: E/MainActivity(13121): oncreate|reade page----第八頁
05-04 12:39:24.539: E/MainActivity(13121): onRestoreInstanceState run..
05-04 12:39:24.539: E/MainActivity(13121): onRestoreInstanceState|reade page----第八頁
05-04 12:40:22.919: E/MainActivity(13121): onSaveInstanceState run..
05-04 12:40:28.379: E/MainActivity(13121): oncreate|reade page----第八頁
05-04 12:40:28.379: E/MainActivity(13121): onRestoreInstanceState run..
05-04 12:40:28.379: E/MainActivity(13121): onRestoreInstanceState|reade page----第八頁