图解:
1.
2.
日志打印:
1.进入应用程序依次执行:onCreate()、onStart()、onResume()
2.点击返回键退出程序依次执行:onPause()、onStop()、onDestroy()
3.点击Home键依次执行:onPause()、onStop()
4.点击任务键依次执行:onPause()、onStop()
5.点击Home键或者任务键后再进入应用程序依次执行:onStart()、onResume()
6.长按任务键(分屏键)依次执行:onPause()、onStop()、onDestroy()、onCreate()、onStart()、onResume()、onPause()
7.屏幕旋转依次执行:onPause()、onStop()、onDestroy()、onCreate()、onStart()、onResume()
8.锁屏键(关闭屏幕)依次执行:onPause()、onStop()
9.再次点击锁屏键(开启屏幕)依次执行:onStart()、onResume()
代码实践:
/**
* Activity的生命周期
* 1.进入应用程序依次执行:onCreate()、onStart()、onResume()
* 2.点击返回键退出程序依次执行:onPause()、onStop()、onDestroy()
* 3.点击Home键依次执行:onPause()、onStop()
* 4.点击任务键依次执行:onPause()、onStop()
* 5.点击Home键或者任务键后再进入应用程序依次执行:onStart()、onResume()
* 6.长按任务键(分屏键)依次执行:onPause()、onStop()、onDestroy()、onCreate()、onStart()、onResume()、onPause()
* 7.屏幕旋转依次执行:onPause()、onStop()、onDestroy()、onCreate()、onStart()、onResume()
* 8.锁屏键(关闭屏幕)依次执行:onPause()、onStop()
* 9.再次点击锁屏键(开启屏幕)依次执行:onStart()、onResume()
*
* @param savedInstanceState
*/
@Override
protected void onCreate(Bundle savedInstanceState) {//创建
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
ToastUtil.showTextToas(this, "onCreate()被执行");
Log.e(TAG, "onCreate()被执行");
}
@Override
protected void onStart() {//开始
super.onStart();
ToastUtil.showTextToas(this, "onStart()被执行");
Log.e(TAG, "onStart()被执行");
}
@Override
protected void onResume() {//可见
super.onResume();
ToastUtil.showTextToas(this, "onResume()被执行");
Log.e(TAG, "onResume()被执行");
}
@Override
protected void onPause() {//不可见
super.onPause();
ToastUtil.showTextToas(this, "onPause()被执行");
Log.e(TAG, "onPause()被执行");
}
@Override
protected void onStop() {//暂停
super.onStop();
ToastUtil.showTextToas(this, "onStop()被执行");
Log.e(TAG, "onStop()被执行");
}
@Override
protected void onDestroy() {//销毁
super.onDestroy();
ToastUtil.showTextToas(this, "onDestroy()被执行");
Log.e(TAG, "onDestroy()被执行");
}
ToastUtil工具类:
import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class ToastUtil {
//显示文本+图片的Toast
public static void showImageToas(Context context, String message) {
View toastview = LayoutInflater.from(context).inflate(R.layout.toast_style, null);
TextView text = toastview.findViewById(R.id.tv);
text.setText(message); //要提示的文本
Toast toast = new Toast(context); //上下文
toast.setGravity(Gravity.CENTER, 0, 0); //位置居中
toast.setDuration(Toast.LENGTH_SHORT); //设置短暂提示
toast.setView(toastview); //把定义好的View布局设置到Toast里面
toast.show();
}
//显示文本的Toast
public static void showTextToas(Context context, String message) {
View toastview = LayoutInflater.from(context).inflate(R.layout.toast_style2, null);
TextView text = toastview.findViewById(R.id.tv);
text.setText(message);
Toast toast = new Toast(context);
toast.setGravity(Gravity.BOTTOM, 0, 50);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(toastview);
toast.show();
}
}