launch mode 应用场景
標(biāo)準(zhǔn)模式?一調(diào)用startActivity()方法就會(huì)產(chǎn)生一個(gè)新的實(shí)例。
SingleTop:使用場(chǎng)景:瀏覽器的書(shū)簽;通訊消息聊天界面。
如果已經(jīng)有一個(gè)實(shí)例位于activity棧頂,就不產(chǎn)生新的實(shí)例,而只是調(diào)用activity中的newInstance()方法,如果不位于棧頂,會(huì)產(chǎn)生一個(gè)新的實(shí)例。
SingleTask:使用場(chǎng)景:某個(gè)Activity當(dāng)做主界面的時(shí)候。
會(huì)在一個(gè)新的task中產(chǎn)生這個(gè)實(shí)例,以后每次調(diào)用都會(huì)使用這個(gè),不會(huì)去產(chǎn)生新的實(shí)例了。
SingleInstance:使用場(chǎng)景:比如瀏覽器BrowserActivity很耗內(nèi)存,很多app都會(huì)要調(diào)用它,這樣就可以把該Activity設(shè)置成單例模式。比如:鬧鐘鬧鈴。
這個(gè)和singleTask基本一樣,只有一個(gè)區(qū)別:在這個(gè)模式下的activity實(shí)例所處的task中,只能有這個(gè)activity實(shí)例,不能有其他實(shí)例。
activity的四種狀態(tài):Running狀態(tài),Paused狀態(tài),Stopped狀態(tài),Killed(被殺死的,斷開(kāi)的)狀態(tài)。
Running狀態(tài):一個(gè)新的Activity啟動(dòng)入棧后,它在屏幕最前端處于棧的最頂端,此時(shí)它處于可見(jiàn)并可和用戶(hù)交互的激活狀態(tài)。(onCreaet,onStart,onResume)
Paused狀態(tài):當(dāng)Activity被另一個(gè)透明或者Dialog樣式的Activity覆蓋時(shí)的狀態(tài)。此時(shí)它依然與窗口管理器保持連接,系統(tǒng)繼續(xù)維護(hù)其內(nèi)部狀態(tài),它仍然可見(jiàn),但它已經(jīng)失去了焦點(diǎn)故不可與用戶(hù)交互。
Stopped狀態(tài):當(dāng)Activity不可見(jiàn)時(shí),Activity處于Stopped狀態(tài)。當(dāng)Activity處于此狀態(tài)時(shí),一定要保存當(dāng)前數(shù)據(jù)和當(dāng)前的UI狀態(tài),否則一旦Activity退出或關(guān)閉時(shí),當(dāng)前的數(shù)據(jù)和UI狀態(tài)就丟失了。可以重寫(xiě)onSaveInstanceState()方法,通過(guò)他的bundle對(duì)象,保持?jǐn)?shù)據(jù),然后在下次啟動(dòng)中的創(chuàng)建方法中拿到數(shù)據(jù)。代碼:savedInstanceState.getString("temp");
Killed狀態(tài):Activity被殺掉以后或者被啟動(dòng)以前處于Killed狀態(tài)。這時(shí)Activity已從Activity堆棧中移除,需要重新啟動(dòng)才可以顯示和使用。
4種狀態(tài)中,Running狀態(tài)和Paused狀態(tài)是可見(jiàn)的,Stopped狀態(tài)和Killed狀態(tài)是不可見(jiàn)的。
onStart 和onResume 的區(qū)別:onStart是activity界面被顯示出來(lái)的時(shí)候執(zhí)行的;onStart通常就是onStop(也就是用戶(hù)按下了home鍵,activity變?yōu)楹笈_(tái)后,activity不可見(jiàn))之后用戶(hù)再切換回這個(gè)activity就會(huì)調(diào)用onRestart()而后調(diào)用onStart()。
onResume是當(dāng)該activity與用戶(hù)能進(jìn)行交互時(shí)被執(zhí)行;onResume是onPause(通常是當(dāng)前的acitivty被暫停了,比如被另一個(gè)透明或者Dialog樣式的Activity覆蓋了)之后dialog取消,activity回到焦點(diǎn)狀態(tài),調(diào)用onResume()。
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的launch mode 应用场景的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win7怎么用u盘还原 使用U盘还原Wi
- 下一篇: 百度地图定位城市