Android Activity生命周期

网上有很多文章关于Android Activity的生命周期,现在我来写一篇。

大家都知道Activity代表着窗口,当窗口出现在手机屏幕上就表明Activity处于运行状态,窗口分为可见状态和不可见状态,如果要我来设计Android Activity的生命周期,我可能会这么设计:

            启动onStart()----》运行状态running----》结束onStop()

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

onStart()方法:Activity启动,出现窗口

onStop()方法:Activity停止,窗口被覆盖

可是仔细想想,Android怎么可能这么简单的设计它的Activity?没错接下来我们再细想想,怎么想呢,很简单,将onStart和onStop细化呗,如果有一个电话进来,当接完电话后再回到这个Activity,难道要再重新这么来一次么?肯定不应该这样。起码也是这样:


Android Activity生命周期_第2张图片

那么怎么区分是第一次启动Activity还是又回到了这个已经存在的Activity呢,我能想到的加个方法来区分,也就是这样,


Android Activity生命周期_第3张图片

好,既然提到了Activity是被创建的,那就应该有个对应的被销毁的方法,被销毁也就是从内存中消失,也就是这样:


Android Activity生命周期_第4张图片

会不会觉得窗口可见和不可见状态粒度不够细,那就细化一下:窗口可见但不能和用户交互和窗口可见并且可以和用户交互。同时窗口消失的时候也不应该一下子就那么消失了,也就是这样:


Android Activity生命周期_第5张图片

由于Android系统可能回收不在运行状态的Activity,所以有两种状态Activity可能被系统杀掉,也就是这样:


Android Activity生命周期_第6张图片

这就是我对下面这张图的理解,可能解释的不是很恰当。

Android Activity生命周期_第7张图片

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