天天看点

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]