Activity
生命周期&啟動(dòng)模式
- onStart 在后臺(tái)不顯示出來,其實(shí)也是可見 我們看不到。
- onResume在前臺(tái)顯示出來,這時(shí)候真正可見。
- 新的Activity用的是透明主題,則跳轉(zhuǎn)的Activity 不會(huì)進(jìn)onStop。
- back 鍵會(huì)onPause->onStop->onDestory。
- 后臺(tái)Activity 優(yōu)先級(jí)比較低,容易因?yàn)閮?nèi)存不夠(Low Memory Kill)導(dǎo)致被殺死。需要放到Service 中。
- SingleTop(不干掉上面的)和SingleTask(干掉上面的)會(huì)在第二次被調(diào)用之后 會(huì)走onNewIntent 方法。此時(shí)不會(huì)走onCreate /onStart。
- Intent Flag 啟動(dòng)模式
- NEW_TASK 新起一個(gè)task來啟動(dòng)activity 一般運(yùn)作于service 中啟動(dòng)activity。
- SINGLE_TOP 和 CLEAR_TOP和 分別和SingleTop 和SingleTask一樣。
- NO_HISTORY 啟動(dòng)之后這個(gè)activity就消失了,不會(huì)存在于Task中。
- A 到 B A onPause B onCreate ->onStart->onResume A onStop 這也就是為什么在onPause中做一些簡單操作的原因了,他會(huì)導(dǎo)致下一個(gè)頁面的啟動(dòng)卡頓,白屏。實(shí)質(zhì)上四次IPC:
- 當(dāng)前Activity發(fā)起啟動(dòng)另一個(gè)Activity的請(qǐng)求——>ActivityManagerService
- ActivityManagerService——> 通知App暫停當(dāng)前Activity
- 當(dāng)前App告知已經(jīng)暫停了當(dāng)前的Activity——> ActivityManagerService
- ActivityManagerService ——> 通知App啟動(dòng)新的Activity
啟動(dòng)流程
- 這里不塞過多的源碼 來一張經(jīng)典圖
activity啟動(dòng)流程.png
附上一篇我覺得寫的比較可以得文章:http://www.itdecent.cn/p/13b07beacb1f
通讀幾遍之后 ,大約就是c /s 互相找代理 然后IPC進(jìn)行操作 -
如何走到onCreate()方法 這里還是畫圖來說,因?yàn)閷懸淮蠖挝淖?,以后自己會(huì)忘,但是看到自己畫的圖,以后能很快想起來這一塊是什么樣子:
activity的入口啟動(dòng).png

