今天写了个程序验证Activity的生命周期,结果如下:
不清楚背景知识的可以先参照
官方文档,或者参照这篇帖子:
http://www.ibm.com/developerworks/cn/opensource/os-cn-android-actvt/index.html
刚进入Activity A时,会依次调用如下方法:
onCreate
onStart
onResume
此时,A处于Activated状态
进入另一个Activity B时,会依次调用:
onPause
onStop
此时,A处于Stoped状态
注意:一旦系统响应了进入B的请求,onPause就马上被调用,而onStop要在B准备好并且显示在屏幕上时,才会被调用。
在B里面按返回,回到A时,A的如下方法被调用:
onRestart
onStart
onResume
此时,A处于Activated状态
在A里面按返回:
finish
onPause
onStop
onDestroy
问题是,没有能够模拟出Activity进入Paused状态的情形,也就是官方文档说的可见但不能和用户交互的状态。
我尝试在A上调用ProgressDialog和AlertDialog,但都没有触发onPause
不知道大家有没有遇到过相同问题。
工程我打包传了上来