Android 开发 | Activity 生命周期

概述

  • onCreate: 创建活动。此时会把页面布局加载进内存,进入初始状态。
  • onStart: 开启活动。此时会把活动页面显示在屏幕上,进入了就绪状态。
  • onResume: 恢复活动。此时活动页面进入活跃状态,能够与用户正常交互,例如允许相应用户的点击动作、允许用户输入文字等。
  • onPause: 暂停活动。此时活动页面进入暂停状态(也就是退回就绪状态),无法与用户正常交互。
  • onStop: 停止活动。此时活动页面将不在屏幕上显示。
  • onDestory: 销毁活动。此时回收活动占用的系统资源,把页面从内存中清除掉。
  • onRestart: 重启活动。处于停止状态的活动,若想重新开启的话,无须经历 onCreate 的重复创建过程,而是走 onRestart 的重启过程。
  • onNewIntent: 重用已有的活动实例。

代码

public class ActivityDemoActivity extends AppCompatActivity {

    // 创建活动。此时会把页面布局加载进内存,进入初始状态。
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_demo);
        Log.d("TAG", "onCreate: ");
    }

    // 开启活动。此时会把活动页面显示在屏幕上,进入了就绪状态。
    @Override
    protected void onStart() {
        super.onStart();
        Log.d("TAG", "onStart: ");
    }

    // 恢复活动。此时活动页面进入活跃状态,能够与用户正常交互,例如允许相应用户的点击动作、允许用户输入文字等。
    @Override
    protected void onResume() {
        super.onResume();
        Log.d("TAG", "onResume: ");
    }

    // 暂停活动。此时活动页面进入暂停状态(也就是退回就绪状态),无法与用户正常交互。
    @Override
    protected void onPause() {
        super.onPause();
        Log.d("TAG", "onPause: ");
    }

    // 停止活动。此时活动页面将不在屏幕上显示。
    @Override
    protected void onStop() {
        super.onStop();
        Log.d("TAG", "onStop: ");
    }

    // 销毁活动。此时回收活动占用的系统资源,把页面从内存中清除掉。
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d("TAG", "onDestroy: ");
    }

    // 重启活动。处于停止状态的活动,若想重新开启的话,无须经历 onCreate 的重复创建过程,而是走 onRestart 的重启过程。
    @Override
    protected void onRestart() {
        super.onRestart();
        Log.d("TAG", "onRestart: ");
    }

    // 重用已有的活动实例。
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        Log.d("TAG", "onNewIntent: ");
    }
}

举例

  1. 从 页面A 跳转到 页面B,会调用 页面B 的:
  • onCreate:
  • onStart:
  • onResume:
  1. 从页面B 跳转到 页面C,会调用 页面B 的:
  • onPause
  • onStop
  1. 从 页面C 退回到 页面B,会调用 页面B 的:
  • onRestart
  • onStart
  • onResume
  1. 在 页面B,让 App 进入后台,会调用 页面B 的:
  • onPause
  • onStop
  1. 进入前台,会调用 页面B 的:
  • onRestart:
  • onStart
  • onResume
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祖安狂人学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值