生活随笔
收集整理的這篇文章主要介紹了
android之Activity的生命周期
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Activity是android中的四大組件(其他三個ContentProvider,Service,?Broadcast(BroadcastReceiver))。?在安卓中代表的是程序的一個頁面。為用戶體重一個屏幕,負責與用戶交互。 ???創建Activity必須要繼承Activity類。在自定義的Activity中,其中兩個最重要的方法: 1、onCreate(Bundle)方法:這個方法時初始化?Activity的方法。必須要實現這個方法,因為系統在創建Activity的時候回自動調用此方法,在實現這個方法時,應該初始化一些必要的組件,更重要的是必須為Activity用?setContentView()方法設置用戶界面的布局。 2、onPause()方法:使用者在準備離開此Activity的時候,保存用戶的數據,Activity狀態等。 ?????為了能夠使用Context.startActivity(),所有的activity類都必須在AndroidManifest.xml主配置文件中定義相關的activity標簽。 ?????????Activity有三種本質區別的狀態: 1、Resumed:當activity在前臺得到用戶的焦點時(也稱之為Running狀態) 2、Paused:另一個activity在前端顯示,得到焦點,但是這個activity仍然可見。也就是另一個活動是可見的,部分是透明的,還沒有完全覆蓋掉整個手機屏幕,占用手機較少的內存資源,或者在手機急需要內存資源時,將其結束進程。 3、Stopped:一個Activity被另外的Activity完全覆蓋掉。但是它依然保持所有狀態和成員信息,但是它不再可見,所以它的窗口被隱藏,當系統內存需要被用在其他地方的時候,Stopped的Activity將被殺掉。
Activity的生命周期圖:
共有七個生命周期:
·onCreate:當活動首次被創建時調用
·onStart:當活動對用戶可見時調用
·onResume:當活動開始和用戶交互時調用
·onPause:在當前活動被暫停并恢復以前的活動時調用
·onStop:當活動不再對用戶可見時調用
·onDestory:在活動被系統銷毀前(手動或由系統執行以節省內存)前調用
·onRestart:在活動已停止并要再次啟動時調用
在啟動activity時,不是通過類的main方法,而是通過activity的onCreate方法。在android程序啟動,在我們能看見時,已經經過了onCreate ---> onStart --->onResume三個過程,當想更了解activity生命周期時,可以重寫activity里面的
protected void?onCreate(Bundle savedInstanceState);
protected void?onStart();
protected void?onRestart();
protected void?onResume();
protected void?onPause();
protected void?onStop();
protected void?onDestroy();
的七個方法。加上輸出語句,模擬各種操作,在Logcat中查看輸出。
MainActivity中如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | package?com.zzh.activity; import?android.app.Activity; import?android.os.Bundle; import?android.util.Log; public?class?MainActivity?extends?Activity { @Override protected?void?onCreate(Bundle?savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i("tag",?"-------------->??onCreate???<-----------"); } @Override protected?void?onStart() { super.onStart(); Log.i("tag",?"-------------->??onStart???<-----------"); } @Override protected?void?onRestart() { super.onRestart(); Log.i("tag",?"-------------->??onRestart???<-----------"); } @Override protected?void?onResume() { super.onResume(); Log.i("tag",?"-------------->??onResume???<-----------"); } @Override protected?void?onPause() { super.onPause(); Log.i("tag",?"-------------->??onPause???<-----------"); } @Override protected?void?onStop() { super.onStop(); Log.i("tag",?"-------------->??onStop???<-----------"); } @Override ???protected?void?onDestroy() ???{ ???super.onDestroy(); ??????Log.i("tag",?"-------------->??onDestroy???<-----------"); ????} } | |
|
當進程序啟動進入頁面時:
Logcat中出現的日志信息:---->Resumed
退出程序時:按返回鍵Esc,Logcat中出現的日志信息:Stopped
如果有電話打來,然后再掛斷,此時的Logcat中出現的日志信息:--Paused--->Resumed
三種狀態完成.
本文轉自 墨宇hz 51CTO博客,原文鏈接:http://blog.51cto.com/zzhhz/1625988
總結
以上是生活随笔為你收集整理的android之Activity的生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。