Activity生命周期

Activity生命周期

首先,让我们用一张图片来简单直观的看看Activity的生命周期,如图所示
这里写图片描述
从图中来看,我们能够发现Activity生命周期能够简单的分为以下一些:
onCreate();
onStart();
onResume();
onPause();
onStop();
onRestart();
onDestroy();
并且,我们通过图中的箭头能够很直观的得到一些信息:

1.启动Activity,系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.i(TAG,"onCreate************");//创建Activity时调用

运行Activity经历的周期

 @Override
    protected void onStart() {
        super.onStart();
        Log.e(TAG,"onStart************");//开始运行Activity
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.e(TAG,"onResume************");//恢复Activity
    }

.2.退出Activity,系统会先调用onPause方法,然后调用onStop方法,Activity进入停止状态,最后调用onDestroy方法将Activity进行销毁;

//退出Activity时调用此方法
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e(TAG,"onDestroy************");//调用此方法销毁Activity
    }

3.若当前Activity被其他Activity覆盖或者手机锁屏时,系统会调用onPause方法,Activity进入暂停状态;若恢复到当前Activity或解除锁屏时,系统会调用onResume方法,恢复Activity的运行;

//当前Activity被其他Activity覆盖或者手机锁屏时
    @Override
    protected void onPause() {
        super.onPause();
        Log.e(TAG,"onPause************");//暂停Activity
    }
   //当前Activity解除覆盖或者手机解除锁屏时
    @Override
    protected void onResume() {
        super.onResume();
        Log.e(TAG,"onCreate************");//恢复Activity
    }

4.若当前Activity跳转到新的Activity或进入后台状态时,系统会先调用onPause方法,暂停Activity,再调用onStop方法,Activity进入停止状态;若后退回到当前Activity时,系统会先调用onRestart方法,重新开始Activity,再按照默认的顺序,调用onStart方法,再调用onResume方法,Activity再次进行运行状态;


    @Override
    protected void onStop() {
        super.onStop();
        Log.e(TAG,"onStop************");//停止Activity
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.e(TAG,"onRestart************");//重新开始Activity
    }
    @Override
    protected void onStart() {
        super.onStart();
        Log.e(TAG,"onStart************");//开始运行Activity
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.e(TAG,"onResume************");//恢复Activity
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值