在创建项目时自动生成的MainActivity类,单击Android Studio菜单栏上方的Code按钮,选择Override Methods菜单选项。Android Studio会列出该类所有可以重写的方法(如需多选,则按住Ctrl键的同时鼠标右键单击选择
选择Activity生命周期中的7个方法(系统已经自动加上了onCreate()方法),并单击OK按钮,生成相应的重写方法
代码
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "ActivityTest";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "执行了onCreate()方法");
}
@Override
protected void onStart() {
super.onStart();
Log.d(TAG, "执行了onStart()方法");
}
@Override
protected void onStop() {
super.onStop();
Log.d(TAG, "执行了onStop()方法");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(TAG, "执行了onDestroy()方法");
}
@Override
protected void onPause() {
super.onPause();
Log.d(TAG, "执行了onPause()方法");
}
@Override
protected void onResume() {
super.onResume();
Log.d(TAG, "执行了onResume()方法");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(TAG, "执行了onRestart()方法");
}
}
上述代码中使用Log.d()方法记录日志信息, Log日志类能够记录程序运行过程中的相关信息,
单击Android Studio IDE窗口底部的Logcat按钮﹐弹出 AndroidMonitor 窗口,通过LogCat窗口可以查看数据的传递过程
启动模拟器并运行ActivityTest应用,可以在模拟器上看到执行结果。默认显示一个Hello World 的界面,单击“返回”键离开程序,此时程序已经出现在模拟器的安装程序列表中。下面在模拟器上运行该应用程序,观察LogCat的显示结果。
测试一
进入模拟器的应用程序列表界面,单击ActivityTest图标打开此应用,可在LogCat窗口中看到此Activity启动时的状态转换过程。
单击“返回”键退出应用,查看Activity 的返回时的状态转换过程
总结: 在LogCat窗口中,Tag列的值为ActivityTest的行即是需要关注的信息。系统按顺序依次调用onCreate() , onStart()和 onResume()三个方法来创建Activity,单击“返回”键时依次调用onPause() ,onStop()和 onDestroy()方法来结束Activity。
测试二
测试二 要用android studio自带的模拟器测试,打开AVD manager,启动模拟器
在模拟器上启动ActivityTest,然后单击Home键;再单击模拟器下方的“拨号”键打电话,接着单击“返回”键离开拨号器应用;最后单击模拟器上首页界面下方中间图标调出模拟器所有应用的列表,单击ActivityTest图标打开该应用程序。查看LogCat 的输出结果
总结: 当运行通话应用时,系统调用onStop()方法将ActivityTest应用切换至暂停状态,当ActivityTest再度呈现到屏幕上时,依次运行onRestart() , onStart()和 onResume()三种方法。