回调方法案例演示
1、创建安卓应用
- 选择 Empty Activity模板
- 配置项目信息
- 点击【finish】,完成项目初始化
2、主布局资源文件
- 将约束布局改成线性布局,并设置标签控件相关属性
3、字符串资源文件
- 在strings.xml文件里修改app_name变量值,添加新变量test_life_cycle
4、主界面类实现功能
- 在MainActivity里定义标记常量TAG
- 在onCreate和onDestroy回调方法里输出一条调试信息
- 在onStart和onStop回调方法里输出一条调试信息
- 在onResume和onPause回调方法里输出一条调试信息
- 在onRestart回调方法里输出一条调试信息(在完全不可见⟹完全可见的过程中)
- 查看MainAcitivity源代码
package net.zh.lifecycle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
private final static String TAG = "life_cycle";
@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 invoked.");
}
@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、添加消息过滤器
- 创建消息过滤器life_cycle_filter,日志标记为life_cycle
6、启动应用,查看日志
- 启动应用,查看LogCat里的消息
- 单击【Home】键,返回手机应用桌面
- 此时,应用窗口被桌面遮住,查看日志消息
-
单击【Overview】键,查看最近应用列表
-
最近打开的应用就是【生命周期】
- 单击在后台运行的【生命周期】应用,其窗口又重回前台,查看日志信息
- 按【Back】按键,其实无法关闭【生命周期】应用
- 应该按【Overview】键,选中【生命周期】应用向上滑动,即可关闭该应用
- 查看操作录屏