zoukankan      html  css  js  c++  java
  • 【Android-1】Activity生命周期

    一、Activity的四种状态

    Running(运行中):表明Activity处于活动状态,用户可以点击屏幕可以作出响应,也是处于Activity栈顶的状态。

    Paused(暂停):表明Activity失去焦点的时候,或者被一个非全屏的Activity占据(一个透明的Activity位于栈顶),内存紧张的时候可能被回收。

    Stopped(停止):当前Activity完全被覆盖的时候,内存紧张依然被回收。

    Killed(被杀死):表明Activity被系统回收了,所保存的信息、成员变量都不存在了。

    二、Activity生命周期分析

    1. Activity首次打开会执行如下生命周期方法:onCreate()->onStart()->onResume()

      onCreate():生命周期第一个调用的方法,可以做数据加载、图片预加载操作。

      onStart():表明Activity正在被启动,处于用户可见的状态,但是并没有处于前台显示,用户还不能与这个Activity进行交互、进行点击、滑动(已经看见,但无法触摸的状态)

      onResume():表明Activity已经前台可见了,可以与用户交互了、触摸、滑动等操作。

    2.点击Home键回到主界面(Activity不可见)执行的方法:onPause()->onStop()

      onPause():表明Activity处于停止状态(可见,但不能触摸)。

      onStop():onPause()方法执行完调用,表明Activity已停止,完全被遮住覆盖(内存紧张,可能被回收)。

    3.当再次回到原Activity时,会执行以下方法:onRestart()->onStart()->onResume()

      onRestart():表示正在重新启动,由不可见变为可见。

      onStart():表明Activity正在被启动,处于用户可见的状态,但是并没有处于前台显示,用户还不能与这个Activity进行交互、进行点击、滑动(已经看见,但无法触摸的状态)

      onResume():表明Activity已经前台可见了,可以与用户交互了、触摸、滑动等操作

    4.退出当前Activity时,执行以下生命周期方法:onPause()->onStop()->onDestroy()

      onPause():表明Activity处于停止状态(可见,但不能触摸)。

      onStop():onPause()方法执行完调用,表明Activity已停止,完全被遮住覆盖(内存紧张,可能被回收)。

      onDestroy():Activity生命周期最后一个方法,可以做一些资源回收释放工作

  • 相关阅读:
    mac升级后,遇到openssl相关问题
    mysql清空所有表
    composer 管理js css等依赖文件【fxp/composer-asset-plugin】
    php安装pcntl
    git命令
    docker
    OAuth 2.0
    mysql杯观锁与乐观锁
    mysql添加用户,授权,刷新权限
    Mac下安装SecureCRT并激活
  • 原文地址:https://www.cnblogs.com/chapter/p/8516812.html
Copyright © 2011-2022 走看看