【正文】
上需要更新的信息 ? 調(diào)用 onStart()和 onResume()重新顯示 Activity,并接受用戶交互 Activity生命周期 ? 可視 生命周期 ? 開啟 IDA的可視 生命周期 : Dev Tools → Development Settings → Immediately destroy activities (IDA)下開啟IDA Activity生命周期 ? 可視 生命周期 ? 開啟 IDA的可視 生命周期的 函數(shù)調(diào)用順序:onSaveInstanceState()→ onPause()→ onStop()→ onDestroy()→ onCreate()→ onStart()→ onRestoreInstanceState()→ onResume() ? 調(diào)用 onRestoreInstanceState()恢復(fù) Activity銷毀前的狀態(tài) ? 其他的函數(shù)調(diào)用順序與程序啟動(dòng)過程的調(diào)用順序相同 Activity生命周期 ? 活動(dòng)生命周期 ? 活動(dòng)生命周期的 LogCat輸出 ? 啟動(dòng) ActivityLifeCycle ? 通過“掛斷鍵”使模擬器進(jìn)入休眠狀態(tài) ? 再通過“掛斷鍵”喚醒模擬器 ? LogCat的輸出結(jié)果 Activity生命周期 ? 活動(dòng)生命周期 ? 函數(shù)調(diào)用順序如下: onSaveInstanceState() → onPause() → onResume() ? 調(diào)用 onSaveInstanceState ()保存 Activity的狀態(tài) ? 調(diào)用 onPause()停止與用戶交互 ? 調(diào)用 onResume()恢復(fù)與用戶的交互 程序調(diào)試 Android系統(tǒng)提供了 兩 種調(diào)試工具 LogCat和DevTools,用于定位、分析及修復(fù)程序中出現(xiàn)的錯(cuò)誤 ? LogCat ? LogCat是用來獲取系統(tǒng)日志信息的工具,并可以顯示在 Eclipse集成開發(fā)環(huán)境中 ? 功能: 能夠捕獲的信息包括 Dalvik虛擬機(jī)產(chǎn)生的信息、進(jìn)程信息、 ActivityManager信息、 PackagerManager信息、 Homeloader 信息、 WindowsManager信息、Android運(yùn)行時(shí)信息和應(yīng)用程序信息等 程序調(diào)試 ? LogCat ? 打開方式: Window → Show View → Other 打開 Show View的選擇菜單,然后在 Andoird → LogCat中選擇LogCat 程序調(diào)試 ? LogCat ? LogCat打開后, 便顯示在 Eclipse的下方區(qū)域 程序調(diào)試 ? LogCat ? LogCat的右上方的五個(gè)字母表示五種不同類型的日志信息 ,他們的級(jí)別依次增高 [V]: 詳細(xì)( Verbose)信息 [D]: 調(diào)試( Debug)信息 [I]: 通告( Info)信息 [W]:警告( Warn) 信息 [E] :錯(cuò)誤( Error)信息 程序調(diào)試 ? LogCat ? 在 LogCat中,用戶可以通過五個(gè)字母圖標(biāo)選擇顯示的信息類型,級(jí)別高于所選類型的信息也會(huì)在 LogCat中顯示,但級(jí)別低于所選類型的信息則不會(huì)被顯示 程序調(diào)試 ? LogCat ? LogCat提供了“過濾”功能,在右上角的“ +”號(hào)和“ ”號(hào),分別是添加和刪除過濾器。、 50. } 51. 52. Override //在可視生命周期結(jié)束時(shí)被調(diào)用,一般用來保存持久的數(shù)據(jù)或釋放占用的資源 Activity生命周期 ? ? 上面的程序主要通過在生命周期函數(shù)中添加“日志點(diǎn)”的方法進(jìn)行調(diào)試,程序的運(yùn)行結(jié)果將會(huì)顯示在 LogCat中 ? 為了顯示結(jié)果易于觀察和分析,在 LogCat設(shè)置過濾器LifeCycleFilter,過濾方法選擇 by Log Tag,過濾關(guān)鍵字為 LIFTCYCLE 53. public void onStop() { 54. ()。 38. } 39. 40. Override //在重新進(jìn)入可視生命周期前被調(diào)用,載入界面所需要的更改 信息 41. public void onRestart() { 42. ()。 26. } 27. 28. Override //在活動(dòng)生命周期開始時(shí)被調(diào)用,恢復(fù)被 onPause()停止的用于界面更新的資源 29. public void onResume() { 30. ()。 14. } 15. 16. Override //可視生命周期開始時(shí)被調(diào)用,對(duì)用戶界面進(jìn)行必要的更改 17. public void onStart() { 18. ()。 6. 7. public class ActivityLifeCycle extends Activity { 8. private static String TAG = LIFTCYCLE。 Activity生命周期 ? Activity事件回調(diào)函數(shù)的調(diào)用順序 ? Activity生命周期分類 ? Activity的生命周期可分為全生命周期、可視生命周期和活動(dòng)生命周期 ? 每種生命周期中包含不同的事件回調(diào)函數(shù) o n C r e a t e o n D e s t r o yo n S t a r t o n S t o po n R e s u m e o n P a u s eo n R e s t o r eI n s t a n c e S t a t eo n S a v eI n s t a n c e S t a t eo n R e s t a r t活 動(dòng) 生 命 周 期可 視 生 命 周 期全 生 命 周 期123 4 567 8 9 Activity生命周期 ? 全生命周期 ? 全生命周期是從 Activity建立到銷毀的全部過程,始于onCreate(),結(jié)束于 onDestroy() ? 使用者 通常 在