zoukankan      html  css  js  c++  java
  • Activity详解生命周期(Android)

    Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。 

        Activity的概念:

          Activity它的本质上其实就是一个窗体,如我们打开软件它呈现在你眼前的都只是一个窗体而已。它可以与用户进行交互的基本的图形呈现单元。

          不同的是Activity它是没有最小化这种概念的。在Windows平台有最大化的概念,在苹果平台的窗体也是没有最大化的概念,只有调整窗体大小的概念

        Activity的三种状态:

          我们随便打开一个应用程序

    这个时候我们看到的是拨号的这个Activity对吧。(运行状态) 我们点击Home键。

    当我们点击回到桌面的时候,拨号的那个Activity就看不到了,这个时候就属于(停止状态) 

      

    然后我们长按Home键

    那么此时我们后面的那个Activity就是(暂停状态)

        Activity生命周期:

            那么生命周期呢,我们来打开一个网站Activity生命周期图,接着,我们拿到这张图,我来给你们讲解一下运行流程。      

    1.第一步呢这个Activitylaunched被启动,被启动之后首先会执行一个onCreate()方法,然后呢执行一个onStart()方法。再之后呢再执行一个onResume()方法,

    2.只有在onResume执行之后,Activity才会处于运行状态。之后呢我们可以看到Activityrunning就是另外一个Activity会跑到我们的前面,

    3.我们当前的Activity会执行一个onPause()回调方法。再往下呢如果我们的Activity处于不可见的状态,也就是停止状态,会执行一个onStop()这样一个回调方法。

    4.如果说一个Activity处于暂停状态和停止状态之后呢,我们往左边看这个流程。如果有其他优先级更高的应用程序,它需要内存的话。我们的操作系统会把我们的Activity杀死掉。此时我们的应用程序也就会完全的被停止,内存被释放。然后供我们一些内存更高的优先级应用程序使用。如果说什么时候用户重新的去导航到我们挡墙Activity的话,那么它会重新的执行我们的onCreate()方法。就是这样的一个流程。

    5.那么如果说一个应用程序处于一个暂停状态。比如我们上面的打电话程序。我们长按Home键,然后我们又回来,用户又重新回来我们的拨号页面。它会重新执行我们的方法onResume()方法。

    6那么如果一个应用程序处于一个Stop状态。然后用户又重新导航到我们的程序,它会执行一个onStop()方法。在这里我们要注意一点:如果我们的Activity所在的应用程序,没有被销毁的话。从暂停状态重新执行到运行状态会重新执行onRestart()方法。然后再执行onStart(),然后再执行onResume()这样的一个流程。

    7.那么onDestroy()这个方法是在什么时候被执行呢? onDestroy()这个方法也就是说在Activity被系统给销毁的时候会执行onDestroy()方法,在onDestroty()方法执行完毕之后,我们的这个应用程序就彻底的被关闭了。

    这就是Activity的生命周期了。

  • 相关阅读:
    iOS 类知乎”分页”效果的实现?
    iOS 图解弹幕功能的实现
    iOS 为何使用runtime方法交换多次后却能按照交换顺序依次执行代码逻辑?
    iOS常用算法之单链表查找倒数第n个节点(图解)
    iOS常用算法之两个有序数组合并, 要求时间复杂度为0(n)
    iOS 常用算法之设计一个算法,验证某字符是否为合法IPV4字符
    iOS .Crash文件分析处理办法 (利用symbolicatecrash工具处理)
    iOS中UIWebview中网页宽度自适应的问题
    iOS开发
    安卓应用加固之反动态调试技术总结
  • 原文地址:https://www.cnblogs.com/zpblog/p/6246386.html
Copyright © 2011-2022 走看看