onSaveInstanceState和onRestoreInstanceState

來源:互聯網
上載者:User
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----第八頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.