前言
首次学习 Activity 的生命周期,似懂非懂。不过通过代码的方式可以大致理解一下,Activity 在创建的时候会执行那些方法,比如临时退出到主界面,手机息屏,新消息,来电等等状态时。会执行到的方法。
一个 Activity 的生命周期如下。
这张图看的不是很懂,但是生命周期的方法有以下 6 个
- onCreate
- onStart
- onResume
- onPause
- onStop
- onDestroy
接下来,我们将通过代码的方式对这些方法进行应用。
示例
以下示例将这些方法进行演示一遍
package top.bestguo.androidlayout;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
/**
* Created by He Guo on 2021/1/31.
*/
public class LifeCycleActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_life_cycle);
Log.d("LifeCycle", "----onCreate----");
}
@Override
protected void onStart() {
super.onStart();
Log.d("LifeCycle", "----onStart----");
}
@Override
protected void onResume() {
super.onResume();
Log.d("LifeCycle", "----onResume----");
}
@Override
protected void onPause() {
super.onPause();
Log.d("LifeCycle", "----onPause----");
}
@Override
protected void onStop() {
super.onStop();
Log.d("LifeCycle", "----onStop----");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("LifeCycle", "----onDestroy----");
}
}
进入 Activity
进入 Activity 时,共执行了三个方法。先 onCreate,再 onStart,最后 onResume
息屏或者进入其它应用
当手机处于息屏或者到其它程序中的状态时,执行了两个方法。先 onPause,再 onStop
当手机解锁或者回到当前的 Activity 时,也是执行了两个方法。先 onStart、再 onResume
退出
当退出这个 activity 时,会执行三个方法。先 onPause、再 onStop、最后是 onDestroy
总结
在应用了这些方法时,大概能猜测到部分方法的用途
onCreate 方法就是在初始化一些组件的时候,需要写在这些方法中。只会执行一次。
onStart 方法可以用于加载数据,即这个阶段是向服务器请求数据,或者是从本地来加载数据。
onPause 方法可以用于视频,比如手机息屏或者突然来电,遇到这种状态,我们需要对视频进行暂停。
onDestroy 也是只执行一次,具体用在什么地方还猜不到。
其它的生命周期的方法,还没猜到它们的应用场景。
好辣,差不多就这些咯。
项目的代码都在 AndroidStudy 的 github 仓库中。
请勿发布违反中国大陆地区法律的言论,请勿人身攻击、谩骂、侮辱和煽动式的语言。