一, Activity 的生命周期
1,,onCreat()--------初始化一些操作 setContentView()加載界面
2,onRestart()----------Activity重新啟動的時候調(diào)用,比如從home鍵后回來,點擊home見后執(zhí)行的手 onPause()--onStop()--onRestart()
3,onstart()--------Activity已經(jīng)被啟動即將開始,但是還不可見
4,onResume()-------Acitvity可見并活動
---Activity---運行
----新的Activity啟動---
5,onPause()--------Activity正在停止,正常情況下onStop()會緊跟著調(diào)用,此時可以儲存數(shù)據(jù)停止動畫等,但是不能耗時
6,onStop()---------Activity停止,稍微重量級的回收工作.同樣不能耗時
7,onDestroy()---------Activiy銷毀,資源釋放
二,異常情況下Activity的生命周期
1,系統(tǒng)資源發(fā)生變化,如橫豎屏導致Activity殺死重建
2,資源內(nèi)存不足導致優(yōu)先級低的Activity被殺死
解決方案:
1,activity重建保存和取出數(shù)據(jù)onSaveInstanceState()------>onRestoreInstanceState()
2,Activity不讓重建 修改configChanges ? onConfiguerChanged();
三,Activity的啟動
1,standard
2,singleTop
3,singleTask
4,singleInstance
顯示調(diào)用:
需要明確的指明被啟動對象的最賤信息,包括包名和類名
隱式調(diào)用:
不需要指明,Intent需要匹配目標組建的IntentFilter中的過濾信息,如果不匹配將無法啟動目標activity
為了匹配過濾列表,需要同時匹配過濾列表中的action,category,data信息,否則匹配失敗;
注:一個Activity中可以有多個intent-filter 一個intent只要匹配成功一組intent-filter即可成功啟動
過濾規(guī)則:
1,action,可以有多個action重要和其中一個匹配成功即為成功;
2, category:必須全部被匹配,如果沒有走默認;
3,data :兩部分組成 mimeType 和 URI ?mimeType是媒體類型 URI: ://: /[||]
例如: content://com.example.project:200/folder/sufolder/etc