欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Activity生命周期總結

系統 2176 0

Android中用于顯示的容器是Activity,一個Activity對應一個顯示頁面。

?

?

  • Activity生命7方法

Activity對象運行與它自己的7個方法密切相關,從對象的創建到銷毀,這7個方法在Activity不同階段運行,具體的方法介紹如下表格所示:

?

Method

Description

Killable

Next

onCreate

當啟動新的 Activity 的時候被調用

No

onStart()

onStart

Activity 對用戶即將可見時調用

No

onResume() or onStop()

onRestart

重新啟動 Activity 時調用 (此方法是重啟留在緩存中的 Activity

No

onStart()

onResume

Activity 界面可與用戶交互時調用

No

onPause()

onPause

當系統要啟動一個其他的 activity 時調用,用于保存當前數據

Yes

onResume() or onStop()

onStop

Activity 已經不可見時調用

Yes

onRestart() or
onDestroy()

onDestroy

Activity finish 或手機內存不足被銷毀的時候調用

Yes

nothing

?

?

?

  • Activity LifeCycle

Google官方提供了Activity LifeCycle的運行圖,個人覺得官方提供的圖非常簡潔明了地介紹了Activity的運行周期:


Activity生命周期總結

如上圖所示,當啟動Activity1時, 首先調用 onCreate 方法初始化 Activity 的內容,當 Activity 顯示出來的時候調用 onStar 方法(此時 Activity 只能看不能點擊使用),當 Activity 可以被點擊時,則調用 onResume 方法;

如果新一個Activity2完全覆蓋原Activity1, 首先會讓 Activity1 執行 onPause 方法暫存 Activity1 的數據,然后依次執行 onCreate 、 onStart 、 onResume 方法啟動 Activity2, 最后因為 Activity1 會被 Activity2 完全覆蓋,所以會執行 Activity1 onStop 方法;

另一種情況,如果新Activity2未完全覆蓋Activity1(可能只是一個彈出層),則運行流程與上面說的執行流程相同,只是不會執行Activity1的onStop方法;

如果點擊手機上的“返回”按鈕,當前Activity對象會被銷毀,此時就會執行onDestory方法。

?

?

  • Android Task

Android Task 是一個 Activity 棧,保存的是所有正運行的 application Activity 數據, Task 中的 Activity 可以分屬于不同的 application, 一個 Activity 棧也可能是由一個或多個 Task 組成, Task 數據僅僅是臨時保存,若手機內存不足或長時間未使用該 application Android 會自動銷毀 Task 部分 Activity 數據。

?

  • onSaveInstanceState保存數據
前面提到:Activity處于onPause、onStop和onDestory狀態時,如果手機內存資源緊缺就會銷毀Activity,這樣導致當前Activity填寫的數據都化為烏有。Activity含有onSaveInstanceState方法,該方法的參數Bundle可以保存數據,即使當前Activity被銷毀,Bundle也是存在的。這樣Activity再次啟動后onCreate方法的參數Bundle對象其實就是onSaveInstanceState的Bundle對象,所以可以在onCreate方法中再取出Bundle對象中的數據。
       @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        if(savedInstanceState!=null && savedInstanceState.containsKey(ET_KEY)){
        	EditText et = (EditText)findViewById(R.id.et);
        	et.setText(savedInstanceState.getString(ET_KEY));
        }
    }
    
	@Override
	protected void onSaveInstanceState(Bundle outState) {
		super.onSaveInstanceState(outState);
		EditText et = (EditText)findViewById(R.id.et);
		outState.putString(ET_KEY, et.getText().toString());
	}
    
?

?

我的百度文庫有關于Android Activity生命周期的ppt,免費下載,希望對大家有所幫助:

http://wenku.baidu.com/view/db19524ce518964bcf847cf9.html

?

附Activity生命周期例子,版本2.1

Activity生命周期總結


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 美女网站在线观看视频18 | 欧美成在人线a免费视频 | 久久黄视频 | 国产后式a一视频 | 香港三日本三级三级三级 | 欧美午夜久久 | 国产精品国产三级国产专区5o | 人人爽视频 | 亚洲网站一区 | 美女超碰 | 日韩日日操 | 亚洲成av | 色吧综合 | 亚洲一区二区三区免费视频 | 色噜噜色噜噜天天拍一拍 | 性色av一区二区三区四区 | 亚洲欧美日韩在线不卡中文 | 成人免费大片a毛片 | 三级视频网站 | 成人免费一级毛片在线播放视频 | 成人免费影 | 91中文视频 | 91高清国产经典在线观看 | 国产在线视频色综合 | 一区二区三区视频 | 色播播网| 色综合天天综合网看在线影院 | av一区二区三区在线观看 | 特黄特色的大片观看免费视频 | 日韩www | 成人午夜动漫在线观看 | 男人的天堂亚洲 | 欧美日韩在线免费观看 | 欧美精品一区二区三区在线 | 欧洲精品欧美精品 | 久久99精品视免费看 | 国产资源在线看 | 免费毛片网站 | 免费观看毛片 | 欧美日韩国产一区二区三区伦 | 国产91在线 | 亚洲 |