一、课程讲解
1、回调方法演示
(1)、创建安卓应用
- 基于Empty Activity模板
- 配置项目
- 点击【Rinish】,项目初始化完成
(2)、主布局资源文件
- 将约束布局改成线性布局,设置标签控件机其相关属性
(3)、字符串资源文件
- 在
strings.xml
文件里修改app_name
变量值,添加新变量test_lifeCycle
(4)、在主界面类实现功能
- 在
MainActivity
里定义标记常量TAG
- 在
onCreate
和onDestroy
回调方法里输出一条调试信息
- 在
onStart
和onStop
回调方法里输出一条调试信息
- 在
onResume
和onPause
回调方法里输出一条调试信息
- 在
onRestart
回调方法里输出一条调试信息
- MainAcitivity源代码
package net.hxl.lifecycle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
private final static String TAG = "lifeCycle";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG,"onCreate invoked.");
}
@Override
protected void onStart() {
super.onStart();
Log.d(TAG,"onStart invoked.");
}
@Override
protected void onResume() {
super.onResume();
Log.d(TAG,"onResume invoked.");
}
@Override
protected void onPause() {
super.onPause();
Log.d(TAG,"onPause invoke.");
}
@Override
protected void onStop() {
super.onStop();
Log.d(TAG,"onstop invoked.");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(TAG,"onRestart invoked.");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(TAG,"onDestroy invoked.");
}
}
(5)、添加过滤器
- 创建消息过滤器,Fiter Name:
lifeCycle_filter
,Log Iag:(日志)标记为lifeCycle
(6)、启动应用并查看日志
- 切换应用状态:前台⟹后台⟹前台⟹关闭
- 单击【Home】键,返回手机应用桌面
- 此刻,应用的窗口是被桌面遮住的
- 单击【Overview】键,查看最近应用列表
- 最近打开的应用就是【生命周期】
- 单击在后台运行的【生命周期】应用,其窗口又重回前台,查看日志信息
- 按【Back】按键,其实无法关闭【生命周期】应用
- 应该按【Overview】键,选中【生命周期】应用向上滑动,即可关闭该应用
- 从日志信息可看出三层架构
- 最外层(onCreate - onDestory)——(存在 - 不存在)
- 中间层(onStart - onStop)—— (可见 - 不可见)
- 最内层(onResume - onPause)—— (可交互 - 不可交互)
- 查看录屏
- 参考:https://blog.csdn.net/howard2005/article/details/126998711