认识Android四大组件之一 - Activity生命周期篇

认识Android四大组件之一 - Activity生命周期篇


第一次写博客,主要是为了梳理和保存自己所学的知识,方便日后阅读。

Activity的生命周期


先上图:
Activity的生命周期


我们都知道,一个Activity的完整生命周期是先onCreate(),然后到onStart(),真正运行的时间是在onResume(),当切换到另一个Activity或者按back键退出的时候,会先执行onPause(),然后onStop,最后onDestroy(),最后如果Activity被系统回收掉, 会重新从onCreate()开始执行,如果用户切换回来会执行onRestart(),重新从onStrat()开始执行,整个流程大概就是这样子。

由于我们并不能确定用户会执行的各种操作导致Activity处在一个什么状态,所以我们必须清楚的了解到Activity的生命周期,以防止出现一些未知的错误造成对用户体验不好的情况。

最近看了任玉刚写的一本《Android开发艺术探索》,深入了解到了Activity的生命周期,再次记录一下供以后翻阅

(1)Activity的生命周期回调的方法都是一一对应的,比如onCreate()对应的onDestroy(),onStart()对应的onStop(),onResume()对应的onPause()。

(2)onStart()和onResume()的区别:onStart和onResume是从Activity是否在前台来回调的,onStart的时候,Activity已经可见,但是还不能与用户进行交互,只有当onResume的时候,Activity才真正的启动起来,并且可以与用户进行交互。相反,onStop和onPause也是如此,并且onStop和onStart是在是否可见的角度回调的,onStop的时候表示Activity已经不可见,onPause表示Activity已经在后台。

(3)onPause方法中不能执行耗时操作,因为另一个Activity的启动需要等待旧的Activity的onPause方法结束后才能开启,需要执行的耗时操作可以在onStop中执行,比如一些资源的回收等等。

有错误的观点或者建议欢迎在评论中指出

你可能感兴趣的:(认识Android四大组件之一 - Activity生命周期篇)