欧美三区_成人在线免费观看视频_欧美极品少妇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爰片久久毛片人呢 达达兔午夜起神影院在线观看麻烦 | 中文字幕在亚洲第一在线 | 91高清国产经典在线观看 | 日本一在线中文字幕天堂 | 久久精品国产一区二区电影 | a免费视频 | 国产在线欧美精品中文一区 | 手机在线一区二区三区 | 男人天堂综合 | 亚洲综合在线视频 | 中文字幕在线精品 | 尤物网站永久在线观看 | 五月婷婷婷婷 | 久久免费精品视频在线观看 | 欧美成人h版在线观看 | 国产综合精品久久亚洲 | 国产高清网址 | 亚洲国产成人在线 | 在线色网站 | 97超级碰碰碰碰在线视频 | 久久成人18免费网站 | 色呦呦在线免费观看 | 国产成人免费 | 国产精品免费av | 精品一区二区三区四区 | 亚洲色图片区 | 日本不卡中文字幕一区二区 | 在线国产欧美 | 日韩精品手机在线 | 羞羞色院91蜜桃在线观看 | 成人性大片免费观看网站 | 狠狠一区 | 天天做天天爱天天爽综合区 | 亚洲精品一区二区三区99 | 日本高清中文字幕一区二区三区 | 久草视频在线播放 | 亚洲日本片 | 免费中文字幕视频 | 小优视频污|