一、根据课程内容实现对Activity生命周期的理解,使用log展示生命周期的状态变化
生命周期就是一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。同样,Activity也具有相应的生命周期,Activity的生命周期分为三种状态,分别是运行状态、暂停状态和停止状态。
1).运行状态
当Activity在屏幕的最前端时,它是可见的。有焦点的,可以用来处理用户的常见操作,如点击、双击、长按事件等,这种状态称为运行状态。
2).暂停状态
在某些情况下,Activity对用户来说仍然是可见的,但它不再拥有焦点,即用户对它的操作是没有实际意义的。例如,当最上面的Activity没有完全覆盖屏幕或者是透明的,被覆盖的Activity仍然对用户可见,并且存活。但当内存不足时,Activity可能会被杀死。
3).停止状态
当Activity完全不可见时,它就处于停止状态,但仍然保留着当前状态和成员信息。然而这些对用户来说不可见,内存不足,同样Activity很容易被杀死。
Activity的具体方法执行流程
Activity从一种状态转变到另一种状态会触发一些事件,执行一些回调方法来通知状态的变化,具体方法如下
onCreate(Bundle savedInstanceState):创建时执行
onStart():可见时执行
onRestart():回到前台,再次可见时执行
onResume():获取焦点时执行
onPause():失去焦点时执行
onStop():用户不可见进入后台执行
为了更好的理解,Google公司专门提供一个Activity生命周期模型的图例,具体如下图
从上图可以看出,完整生命周期 oncreate-->onstart-->onresume-->onpause-->onstop-->ondestory
通过案例查看生命周期,通过log打印信息
新建空项目,在
MainActivity中添加代码,如下:
package com.example.shengmingzhouqi;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("activity_main","onCreate()");
}
@Override
protected void onStart() {
super.onStart();
Log.i("activity_main","onStart()");
}
@Over