Android隨筆-Activity

? ? ? ?作為一個即將面世的程序媛,對于前途一無所知,只有努力地去面對,才不會顯得那么費勁。個人對于自己所學的知識,做了一些簡單的總結,方便面試前的復習。

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

先來看看Activity生命周期狀態轉換圖

1、Activuty的三大狀態和七大生命周期方法分析

/**

* Activuty的三大狀態和七大生命周期方法分析

*/

public class MainActivity extends Activity {

/**

* Activity創建時第一個調用的方法,通常我們在該方法中加載布局文件,初始化UI組件,時間注冊等等

*/

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

System.out.println("MainActivity_onCreate");

}

/**

* 在onCreate方法之后調用,用于顯示界面,但用戶還不能進行交互

*/

@Override

protected void onStart() {

super.onStart();

System.out.println("MainActivity_onStart");

}

/**

*當一個stopped狀態的Activity被返回時調用,之后再調用onResume()方法進入運行狀態

*/

@Override

protected void onRestart() {

super.onRestart();

System.out.println("MainActivity_onRestart");

}

/**

* 在onStart方法后調用,該方法執行完成后,用戶可進行交互,當前Activity進入resumed狀態

* 當一個paused狀態的activity唄重新返回時,會再次調用該方法,讓activity進入運行狀態

*/

@Override

protected void onResume() {

super.onResume();

System.out.println("MainActivity_onResume");

}

/**

* 當其他Activity(透明或窗口模式)進入時,該方法會被調用,讓當前Activity進入paused狀態(暫停狀態)

* 當前Activity還可見但不能交互,如果其他更高優先級的APP需要內存時,當前Activity可能會被銷毀(kill)

* 當前Activity被返回時會調用onResume()方法

*/

@Override

protected void onPause() {

super.onPause();

System.out.println("MainActivity_onPause");

}

/**

* 當其他Activity完全覆蓋該Activity時,會被調用,當前Activity進入stopped狀態(停止狀態)

* 不可見,如果其他更高優先級的APP需要內存時,當前Activity可能會被銷毀(kill)

* 當前Activity被返回時會調用onRestart()方法

*/

@Override

protected void onStop() {

super.onStop();

System.out.println("MainActivity_onStop");

}

/**

* 當前Activity被銷毀時調用,通常在該方法中用來釋放資源,當前Activity kiiled。

*/

@Override

protected void onDestroy() {

super.onDestroy();

System.out.println("MainActivity_onDestroy");

}

}


2、Activity的四大啟動模式簡述

Activity是Android的四大組件之一,在Android系統中是通過棧的方式對多個Activity進行管理。

啟動方式決定了Android系統在啟動一個Activity時,對棧該進行什么樣的操作。

四種啟動模式

補充四大啟動模式的使用場景:

Standard:大多數Activty。

SingleTop:如新聞類或者閱讀類APP的內容內面。

SingleTask:如瀏覽器的主頁面。不管從多少個應用啟動瀏覽器,只會啟動主界面一次,其余情況都會做onNewIntent,并且會清空主界面上面的其他頁面。

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

3、activity返回結果(上機)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容