Android隨筆-Activity

? ? ? ?作為一個(gè)即將面世的程序媛,對(duì)于前途一無所知,只有努力地去面對(duì),才不會(huì)顯得那么費(fèi)勁。個(gè)人對(duì)于自己所學(xué)的知識(shí),做了一些簡單的總結(jié),方便面試前的復(fù)習(xí)。

我可是要成為攻城獅的女人!

先來看看Activity生命周期狀態(tài)轉(zhuǎn)換圖

1、Activuty的三大狀態(tài)和七大生命周期方法分析

/**

* Activuty的三大狀態(tài)和七大生命周期方法分析

*/

public class MainActivity extends Activity {

/**

* Activity創(chuàng)建時(shí)第一個(gè)調(diào)用的方法,通常我們?cè)谠摲椒ㄖ屑虞d布局文件,初始化UI組件,時(shí)間注冊(cè)等等

*/

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

System.out.println("MainActivity_onCreate");

}

/**

* 在onCreate方法之后調(diào)用,用于顯示界面,但用戶還不能進(jìn)行交互

*/

@Override

protected void onStart() {

super.onStart();

System.out.println("MainActivity_onStart");

}

/**

*當(dāng)一個(gè)stopped狀態(tài)的Activity被返回時(shí)調(diào)用,之后再調(diào)用onResume()方法進(jìn)入運(yùn)行狀態(tài)

*/

@Override

protected void onRestart() {

super.onRestart();

System.out.println("MainActivity_onRestart");

}

/**

* 在onStart方法后調(diào)用,該方法執(zhí)行完成后,用戶可進(jìn)行交互,當(dāng)前Activity進(jìn)入resumed狀態(tài)

* 當(dāng)一個(gè)paused狀態(tài)的activity唄重新返回時(shí),會(huì)再次調(diào)用該方法,讓activity進(jìn)入運(yùn)行狀態(tài)

*/

@Override

protected void onResume() {

super.onResume();

System.out.println("MainActivity_onResume");

}

/**

* 當(dāng)其他Activity(透明或窗口模式)進(jìn)入時(shí),該方法會(huì)被調(diào)用,讓當(dāng)前Activity進(jìn)入paused狀態(tài)(暫停狀態(tài))

* 當(dāng)前Activity還可見但不能交互,如果其他更高優(yōu)先級(jí)的APP需要內(nèi)存時(shí),當(dāng)前Activity可能會(huì)被銷毀(kill)

* 當(dāng)前Activity被返回時(shí)會(huì)調(diào)用onResume()方法

*/

@Override

protected void onPause() {

super.onPause();

System.out.println("MainActivity_onPause");

}

/**

* 當(dāng)其他Activity完全覆蓋該Activity時(shí),會(huì)被調(diào)用,當(dāng)前Activity進(jìn)入stopped狀態(tài)(停止?fàn)顟B(tài))

* 不可見,如果其他更高優(yōu)先級(jí)的APP需要內(nèi)存時(shí),當(dāng)前Activity可能會(huì)被銷毀(kill)

* 當(dāng)前Activity被返回時(shí)會(huì)調(diào)用onRestart()方法

*/

@Override

protected void onStop() {

super.onStop();

System.out.println("MainActivity_onStop");

}

/**

* 當(dāng)前Activity被銷毀時(shí)調(diào)用,通常在該方法中用來釋放資源,當(dāng)前Activity kiiled。

*/

@Override

protected void onDestroy() {

super.onDestroy();

System.out.println("MainActivity_onDestroy");

}

}


2、Activity的四大啟動(dòng)模式簡述

Activity是Android的四大組件之一,在Android系統(tǒng)中是通過棧的方式對(duì)多個(gè)Activity進(jìn)行管理。

啟動(dòng)方式?jīng)Q定了Android系統(tǒng)在啟動(dòng)一個(gè)Activity時(shí),對(duì)棧該進(jìn)行什么樣的操作。

四種啟動(dòng)模式

補(bǔ)充四大啟動(dòng)模式的使用場景:

Standard:大多數(shù)Activty。

SingleTop:如新聞?lì)惢蛘唛喿x類APP的內(nèi)容內(nèi)面。

SingleTask:如瀏覽器的主頁面。不管從多少個(gè)應(yīng)用啟動(dòng)瀏覽器,只會(huì)啟動(dòng)主界面一次,其余情況都會(huì)做onNewIntent,并且會(huì)清空主界面上面的其他頁面。

SingleInstance:如鬧鈴提醒,將鬧鈴提醒與鬧鈴設(shè)置分離。SIngleInstance不要用于中間頁面,比如:A->B(singleInstance)->C,完全退出后,在此啟動(dòng),首先打開的時(shí)B。

3、activity返回結(jié)果(上機(jī))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容