Activity 生存周期

方法描述可被杀死?下一步
onCreate() 当Activity第一次启动时被创建. 这里应该放置你的一些静态设置,诸如创建View、向list绑定数据等等的一些初始化工作。 这个方法可以通过一个Bundle对象来恢复此Activity之前的状态。

下一个生命状态是 onStart().

onStart()
     onRestart() 在activity已停止活动,再次启动前调用。

下一个生命状态是 onStart()

onStart()
onStart() 在activity被用户可见之前调用。

如果acitivity在前台,也就是被用户可见, 那么下一个生命状态是 onResume() 。如果activity变为隐藏或不可见,则下一个生命状态是 onStop() 。

onResume() 

onStop()
     onResume() activity与用户交互之前会被调用。 这时候activity处于栈顶。

下一个生命状态是 onPause().

onPause()
onPause() 当系统即将开始恢复另一个Acitivity时被调用。这个方法通常被用来存储一些状态,播放activity的停止动画以及其他一些可能会消耗cpu资源的事情。 这个方法的运行时间不宜过长,因为直到这个方法结束,下一个activity才会被调用。 

如果activity恢复到前台,那么下一步就是 onResume()    如果activity变为不可见的,下一步就是 onStop() 

onResume() 

onStop()
onStop() 如果activity不再被用户可见,就进入这一状态。这有可能发生在onDestroy()之前,或者另一个activity被回复并完全覆盖了当前activity。

如果activity又要与用户产生交互,下一个生命状态是 onRestart()    反之 onDestroy() 

onRestart()

onDestroy()
onDestroy() 在activity销毁之前调用。如果显式调用 finish() 方法,也会进入这种状态。

一个acitivty设计到状态保存的也就这两种情况,第一个是不需要开发者主动保存状态(左),因为它就没有被销毁,另一种就需要主动保存状态了,它已经被销毁(右)。

在guide中也说得很明白 只要android:id设置了,框架会帮你存储一些数据并恢复的。

posted on   黑暗伯爵  阅读(428)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述

导航

< 2011年6月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 1 2
3 4 5 6 7 8 9

统计

点击右上角即可分享
微信分享提示