Activity的生命周期

来源:互联网 发布:琅琊榜捏脸数据 编辑:程序博客网 时间:2024/06/11 22:33
  • Activity生命周期图
    Activity生命周期图

  • 针对上图,说明一下各个生命周期

onCreate():生命周期的第一个方法,顾名思义表示Activity正在创建,在这个方法中,可以做一些初始化的工作。当在Android Studio中新建一个Activity时,IDE会在onCreate()方法中,自动生成setContentView去加载界面布局资源,可见,在此方法中我们可做一些初始化的工作。onStart():表示Activity正在被启动,这时Activity已经可见了,但还没有出现在前台,还无法与用户交互,即可见不可控状态。onResume():表示Activity可见可控,onStart()和onResume()都表示Activity已经可见,只是onStart的时候Activity还在后台,onResume的时候Activity才显示到前台。onPause():表示Activity正在停止,正常情况下,onStop()方法马上会被调用,此方法中可以做一些存储数据或停止播放等工作,但是不能太耗时,因为这会影响到新的Activity的显示。onStop():表示Activity即将停止,可以做一些回收工作,注意也不能太耗时。onRestart():表示Activity正在重新启动。正常情况下,当前Activity从不可见状态重新变为可见状态时,onRestart()方法会被调用。onDestroy():表示Activity即将销毁,这是Activity生命周期中的最后一个回调方法,在些方法中可以做一些释放资源的操作。

-通过日志输入来分析生命周期过程

public class LifeCycleActivity extends AppCompatActivity {    private final String TAG = getClass().getSimpleName();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_life_cycle);        Log.i(TAG,"onCreate");    }    @Override    protected void onStart() {        super.onStart();        Log.i(TAG, "onStart");    }    @Override    protected void onRestart() {        super.onRestart();        Log.i(TAG,"onRestart");    }    @Override    protected void onResume() {        super.onResume();        Log.i(TAG, "onResume");    }    @Override    protected void onPause() {        super.onPause();        Log.i(TAG, "onPause");    }    @Override    protected void onStop() {        super.onStop();        Log.i(TAG, "onStop");    }    @Override    protected void onDestroy() {        super.onDestroy();        Log.i(TAG, "onDestroy");    }}
通过启动Activity,可以看到日志打印出的调用过程,依次调用了 onCreate -> onStart -> onResume 方法

首次启动打印

接着按home键切换到桌面,查看日志可以看出,依次调用了 onPause -> onStop 方法

这里写图片描述

当再切换回去的时候,查看日志可以看出,依次调用了 onRestart -> onStart -> onResume 方法

这里写图片描述

现在点击back键,查看日志可以看到,依次调用了 onPause -> onStop -> onDestroy 方法

这里写图片描述

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电锤锤头卸不下来怎么办 打地基没打出硬土层怎么办 中标的项目经理没有B证怎么办 12306证件被注册过怎么办 政府3p项目不给钱怎么办 电气没考上国网怎么办 小区宽带业务被个人承包怎么办 高铁用户名忘了怎么办 昆山社保号是8位怎么办 高铁票误了时间怎么办 动车票没赶上车怎么办 铁路用户名已存在要怎么办 铁路12306用户名忘了怎么办 铁路12306的用户名忘了怎么办 铁路12306注册名已存在怎么办 12306账号密码忘记了怎么办 12306登录名忘记了怎么办 电脑系统崩溃开不了机怎么办 高铁车票没赶上怎么办 机票错点了退票怎么办 快递号码留错了怎么办 物流号码留错了怎么办 12306身份信息被注册怎么办 12306注册身份信息重复怎么办 12306账号被注册了怎么办 高铁账号忘记了怎么办 铁路12306网站密码错误怎么办 网上买火车票密码忘了怎么办 快递没收到点了确认收货怎么办 快递没收到自动确认收货怎么办 房地产股市汇率一齐暴跌怎么办 尼日利亚落地签过期了怎么办 期货亏光了所有怎么办 期货钱亏完了该怎么办 做黄金亏损500万怎么办 炒黄金被骗35万怎么办 淘宝发货填错单号怎么办 发货单号填错了怎么办 发快递忘了单号怎么办 国际物流查不到物流怎么办 纸币上印邪教该怎么办