Activity生命周期

今天来回顾一下Activity的生命周期调用。


Activity生命周期_第1张图片
Activity生命周期


上面图片展示了正常情况下Activity从创建到销毁的整个基本生命周期。

今天主要探讨一下Activity几种情况下的生命周期:

1. Activity Demo1 跳到Activity Demo2:

Intent intent =newIntent(this, ActivityDemo2Activity.class);

startActivity(intent);

运行结果:

Activity生命周期_第2张图片
Demo1 跳到Demo2

注意到没有? onSaveInstanceState方法被调用了。

2. 按Back键返回上一个Activity:

运行结果:

Activity生命周期_第3张图片
从Demo2 按back键

此时, onSaveInstanceState方法没有被调用。

3. 按Home键回到桌面:

运行结果:

从Demo1 按Home键

onSaveInstanceState方法也被调用了。

4. Activity主动finish:

运行结果:

Activity生命周期_第4张图片
Demo2 调用finish()


5. 切换屏幕方向:

Demo1 和 Demo2 的声明

运行结果:

Activity生命周期_第5张图片
在Demo1 中切换屏幕方向


在Demo2中切换屏幕方向


看到区别了吗? 如果在Manifest文件中对 Activity 指定了configChanges中包含orientation|keyboard|keyboardHidden|screenSize|, 则切换屏幕方向时不会重建Activity, 而是调用onConfigurationChanged 方法。



以上, 总结了一些情况下Activity的生命周期调用。

你可能感兴趣的:(Activity生命周期)