1. 程式人生 > >關於Activity啟動模式の學習

關於Activity啟動模式の學習

開始去學習Android的一些基礎的知識,開始從新做人,一步步腳踏實地的去了解這個系統

今天看的是關於Activity的啟動模式的文章,記下來防止自己遺忘了:

Activity的啟動模式一共有四種,分別為standard,singleTop(棧頂模式),singleTask(複用模式),singleInstance(單例模式)。

1、standard(標準模式):

Activity的預設啟動模式,每次啟動Activity都會建立一個新的Activity的事例。新的事例會進入啟動它的Activity所在的棧中。這種模式沒有什麼特殊的,唯一注意的是如果是用的非Activity得context系統會丟擲異常,原因是非Activity沒有所謂的棧,新事例無法進入棧中別建立(小毛病)。


2、singleTop(棧頂模式) :

這個模式也沒有什麼特殊的地方(其實啟動模式我還沒發現用的地方,可能我太年輕了--!),棧頂模式顧名思義,當被啟動的Activity位於啟動它的棧的棧頂時,Activity不會被重新建立,如果不是位於棧頂還是會重新建立···(我說的是廢話····)


3、singleTask(複用模式):

這個模式的用意還是很棒的,我們不用去重複的啟動一個Activity,造成記憶體的洩露,當Activity被標記了這個模式的時候,當它被啟動時,如果棧中有這個Activity的例項,就會呼叫它的onNewIntent方法,而不會去重新的建立,並且會被至於棧頂。。

但是。。當這個Activity位於的不是棧頂時,他會把上面的所有Activity出棧。。


4、singleInstance(單例模式):

這個模式我叫他vip模式,當有Activity被標記為這種模式的時候,那就厲害了,系統會單獨建立一個棧和一個例項,在這個棧中只會有這一個Activity,任何進入的Activity都不會被建立。。