天天看點

android activity 測試

[b]android activity 測試[/b]

[b]測試結果 正常情況下 [/b]

[table]

|1|一個activity從建立到顯示調用順序|onCreate->onStart->onResume //onResume開始時也會被調用,寫在onResume中應隻有恢複顯示和建立共有的代碼

|2|按傳回鍵退出activity|onPause->onStop->onDestroy

|3|從應用管理中“強行停止”|onPause->onStop //無Destroy

|4|按傳回退出後長按home鍵調出應用 或 點選應用重新進入|onCreate->onStrat->onResume

|5|按首頁鍵退出 然後長按home鍵調出應用 或 點選應用重新進|onStrat->onResume //按首頁鍵挂背景 無需onCreate

|6|finish()操作|onPause->onStop->onDestroy

|7|menu,submenu,dialog顯示并傳回|無操作 //無onPause

|8|切換到另一個activity|1.onPause->2.onCreate->2.onStart->2.onResume->1.onStop //居然是切換着來的

|9|8步驟後 按傳回鍵|2.onPause->1.onStart->1.onResume->2.onStop->2.onDestroy //疑問:什麼時候單獨用onResume?

|10|9步驟後 切換到同一個activity|1.onPause->2.onCreate->2.onStart->2.onResume->1.onStop

|11|10步驟後 按首頁鍵傳回|2.onPause->2.onStop

|12|11步驟後 重新點選應用進入|2.onStart->2.onResume

|13|應用中來電|onPause->onStop //同activity切換

|14|13步驟 後挂斷傳回應用|onStart->onResume //同activity切換

|15|當activity2 設定 android:theme="@android:style/Theme.Dialog" 切換到activity2顯示|1.onPause->2.onCreate->2.onStart->2.onResume->2.onStop->2.onDestroy

|16|15步驟後 按傳回鍵傳回|2.onPause->1.onResume //應該注意一下 Destroy後才調用的pause.

[/table]

[b]測試結論[/b]

[table]

|1|activity從建立到顯示|onCreate->onStart->onResume

|2|activity finish或者是按傳回鍵 使其不顯示|onPause->onStop->onDestroy //重新進入需要

onCreate->onStart->onResume

|3|activity 按首頁鍵不顯示|onPause->onStop //重新進入隻需要onStart->onResume

|4|activity間切換|1.onPause->2.onCreate->2.onStart->2.onResume->1.onStop

|5|4步驟後按傳回鍵傳回前一個activity |2.onPause->1.onStart->1.onResume->2.onStop->onDestroy //下次再intent進入 得onCreate

|6|menu dialog|無任何操作 //有些說的不可互動時調用onPause 奇怪 應該是我了解錯了?

|7|打開一個

android:theme="@android:style/Theme.Dialog" 的activity|1.onPause->2.onCreate->2.onStart->2.onResume->2.onStop->2.onDestroy ;注意:直接調用onStop onDestroy

|8|7步驟後按傳回鍵回到前一個activity|2.onPause->1.onResume//直接調用onPause 真亂 估計還有其他特殊情況

[/table]

測試用代碼

[b]activity1.java[/b]

[b]main.xml[/b]

[b]activity2.java[/b]

[b]main2.xml[/b]