Actiity
1.Activity生命周期

- onCreate():當(dāng)Activity第一次創(chuàng)建的時(shí)候調(diào)用。
- onStart():Activity已經(jīng)顯示,但沒(méi)有焦點(diǎn)。
- onResume():Activity可以進(jìn)行交互了。
- onPause():Activity失去焦點(diǎn),無(wú)法再與用戶交互,但可見(jiàn)。
- onStop():Activity不可見(jiàn)狀態(tài)。
- onDestroy():Activity被銷毀。
- onRestart():Activity從不可見(jiàn)變成可見(jiàn)時(shí)會(huì)執(zhí)行此方法。
2.Activity的四種啟動(dòng)模式(每次看完網(wǎng)上的解釋,然后,然后呢.....?)
- standard :每次啟動(dòng)activity都會(huì)創(chuàng)建一個(gè)activity實(shí)例,不管它是否存在
- singleTop :當(dāng)啟動(dòng)activity的時(shí)候,如果該activity不在棧頂,會(huì)創(chuàng)建一個(gè)activity實(shí)例,如果他在棧頂存在,執(zhí)行他的onNewIntent()
- singeTask :第一次啟動(dòng)創(chuàng)建實(shí)例,以后再啟動(dòng)執(zhí)行他的onNewIntent()操作,并銷毀棧中在他上面的其他實(shí)例
- singleInstance:第一次啟動(dòng)創(chuàng)建實(shí)例,在啟動(dòng)執(zhí)行onNewIntent(),并且單獨(dú)在一個(gè)棧中。
onNewIntent()的執(zhí)行(非生命周期中):
- 啟動(dòng)模式singletop(當(dāng)前activity在棧頂時(shí))以及 singletask會(huì)調(diào)用onNewIntent()。
四種模式適用的情況:
- standard:用的最多的默認(rèn)的跳轉(zhuǎn)。
- singleTop:1.接收通知后跳轉(zhuǎn)顯示頁(yè)面 2.搜索界面自己跳轉(zhuǎn)自己調(diào)用onNewIntent()。
- singeTask : 反正就一個(gè)。(登陸頁(yè)面?主頁(yè)?)
- singleInstance : 一次性玩具?
- 額外補(bǔ)充一個(gè) Intent.FLAG_ACTIVITY_CLEAR_TASK : 清除所有棧中老的Activity(清道夫?)。
3.未知,待補(bǔ)充。。。。。
Fragment(碎片)
1.Fragment是依賴于Activity的,不能獨(dú)立存在的?。?!
有次面試,面試官問(wèn)了一個(gè)問(wèn)題,我蒙蔽了半天 :fragment能否獨(dú)立存在。what fk is that ?!

按理說(shuō)是不能的,但看著面試官邪惡的表情,我居然說(shuō):應(yīng)該不能。。??膳?,告辭
2.Fragment的生命周期
- onAttach():Fragment和Activity相關(guān)聯(lián)時(shí)調(diào)用。可通過(guò)該方法獲取Activity引用,還可通過(guò)getArguments()獲取參數(shù)。
- onCreate():Fragment被創(chuàng)建時(shí)調(diào)用。
- onCreateView():創(chuàng)建Fragment的布局。
- onActivityCreated():當(dāng)Activity完成onCreate()時(shí)調(diào)用。
- onStart():當(dāng)Fragment可見(jiàn)時(shí)調(diào)用。
- onResume():當(dāng)Fragment可見(jiàn)且可交互時(shí)調(diào)用。
- onPause():當(dāng)Fragment不可交互但可見(jiàn)時(shí)調(diào)用。
- onStop():當(dāng)Fragment不可見(jiàn)時(shí)調(diào)用。
- onDestroyView():當(dāng)Fragment的UI從視圖結(jié)構(gòu)中移除時(shí)調(diào)用。
- onDestroy():銷毀Fragment時(shí)調(diào)用。
- onDetach():當(dāng)Fragment和Activity解除關(guān)聯(lián)時(shí)調(diào)用。

3.Fragment與Activity的混合生命周期
- onCreate()
Activity onCreate...
Fragment onAttach...
Fragment onCreate...
Fragment onCreateView...
Fragment onActivityCreated... - onDestroy
Fragment onDestroyView...
Fragment onDestroy...
Fragment onDetach...
Activity onDestroy... - 除此之外初始化的生命周期都是activity先走,pause()等都是fragment先走。
4.Fragment與Activity相互私聊
- Handle : 在Activity中定義一個(gè)handle并且在fragment 的onAttach()生命周期中獲取 (fragment通知Activity)。
- 廣播(????呵呵) (相互私聊)
- 接口方案: 與Handle方案相似。(fragment通知Activity)
- context強(qiáng)轉(zhuǎn)activity調(diào)用方法。(fragment通知Activity)
- 觀察者模式(也只能單向????)
- EventBus:利用反射,好用不要錢 ,目前個(gè)人覺(jué)得最好的方案。(相互私聊)