Android:Activity的生命周期

      最近在看任玉刚老师写的《Android开发艺术探索》这本书,之前学了Activity的生命周期,但是一直没有总结,这次想根据这本书的知识点记录一下。


      Activity是Android四大组件之一,并且是最频繁使用的组件,中文翻译为“活动”,在这本书中,“界面”这个词对Activity的解释我认为更加形象,也让我更加容易理解Activity。

      Activity生命周期可以分为正常情况和异常情况下:

    (1)正常情况指的是用户参与的情况下的生命周期;

    (2)异常情况指的是Activity被系统回收或者由于当前设备Configuration发生改变从而导致Activity被销毁重建。

本笔记记录了在正常情况下的生命周期


Activity在正常情况下的生命周期:

(1)onCreate:生命周期中的第一个方法,表示Activity正在被创建。

(2)onRestart:表示Activity正在重新启动。当用户切换到新的Activity时,之前的Activity执行onPause和onStop,当用户回到这个Activity时,onRestart会执行。

(3)onStart:表示Activity正在被启动,即将开始。此时Activity为可见状态,但是没有出现在前台,用户无法和其交互。

(4)onResume:表示Activity已经可见,并且出现在前台可以活动。

注意:onStart和onResume两者虽然都是可见,但onStart时Activity还在后台,而onResume时Activity才显示到前台。

(5)onPause:表示Activity正在停止,但此时Activity还可见。

(6)onStop:表示Activity即将停止。

(7)onDestory:表示Activity即将被销毁,生命周期中的最后一个方法。

不同情况下的生命周期:

(1)对于一个Activity来说,当它第一次被启动时,生命周期为:onCreate->onStart->onResume;

(2)当用户打开新的Activity或者切换到桌面时,生命周期为:onPause->onStop;

(3)当用户再次回到原来的Activity时,生命周期为:onRestart->onStart->onResume;

(4)当用户按back键回退时,生命周期为:onPause->onStop->onDestory。


对于整个生命周期来说,onCreate和onDestory共同点在于只可以一次调用;

对于Activity是否可见来说,onStart和onStop随着用户的操作或者设备屏幕的点亮和熄灭,可以被调用多次;

对于Activity是否在前台来说,onResume和onPause随着用户的操作或者设备屏幕的点亮和熄灭,可以被调用多次。

当用户要开始一个新的Activity,那么旧的Activity的onPause先调用,之后新的Activity再启动。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容