温馨提示:本文最后更新于
2025-11-07 15:33:35,某些文章具有时效性,若有错误或已失效,请在下方留言。Activity 的生命周期,如下图所示
onCreate()
调用时机:
当 Activity 第一次被创建 时调用(只会调用一次)。
常用操作:
• 初始化界面(调用 setContentView() 加载布局)
• 初始化数据、变量、绑定视图事件等。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// UI元素和变量的初始化
Toast.makeText(
this,
"onCreate() 被调用",
Toast.LENGTH_SHORT).show();
System.out.println("onCreate() 被调用");
}
onStart()
调用时机:
当 Activity 即将对用户可见 时调用。
常用操作:
• 启动需要在界面可见时运行的功能(例如动画或监听器)。
@Override
protected void onStart() {
super.onStart();
// 开始动画或者UI相关的任务
Toast.makeText(
this,
"onStart() 被调用",
Toast.LENGTH_SHORT).show();
System.out.println("onStart() 被调用");
}
onResume()
调用时机:
当 Activity 进入前台并开始与用户交互 时调用。
常用操作:
• 恢复界面状态(如重新播放音乐、启动相机预览等)。
@Override
protected void onResume() {
super.onResume();
// 开始传感器、位置更新等主动运行的任务
Toast.makeText(
this,
"onResume() 被调用",
Toast.LENGTH_SHORT).show();
System.out.println("onResume() 被调用");
}
onPause()
调用时机:
当 Activity 失去焦点但仍可见 时调用,例如有新 Activity 覆盖在上面(半透明或对话框)。
常用操作:
• 暂停动画、视频或音乐播放;
• 保存临时数据,防止丢失。
@Override
protected void onPause() {
super.onPause();
// 释放资源,暂停正在进行的操作
Toast.makeText(
this,
"onPause() 被调用",
Toast.LENGTH_SHORT).show();
System.out.println("onPause() 被调用");
}
onStop()
调用时机:
当 Activity 完全不可见 时调用。
常用操作:
• 停止占用资源的操作(如传感器、网络请求等);
• 释放不再需要的资源。
@Override
protected void onStop() {
super.onStop();
// 释放资源,保存数据等
Toast.makeText(
this,
"onStop() 被调用",
Toast.LENGTH_SHORT).show();
System.out.println("onStop() 被调用");
}
onRestart()
@Override
protected void onRestart() {
super.onRestart();
// 执行需要重启的任务
Toast.makeText(
this,
"onRestart() 被调用",
Toast.LENGTH_SHORT).show();
System.out.println("onRestart() 被调用");
}
onDestroy()
调用时机:
当 Activity 即将被销毁 时调用。可能是:
• 用户按下返回键退出;
• 系统为了回收内存销毁 Activity;
• 调用 finish() 手动结束。
常用操作:
• 彻底清理资源、注销监听器;
• 保存最终数据或状态。
@Override
protected void onDestroy() {
super.onDestroy();
// 清理资源、完成任务等操作
Toast.makeText(
this,
"onDestroy() 被调用",
Toast.LENGTH_SHORT).show();
System.out.println("onDestroy() 被调用");
}
© 版权声明
THE END










暂无评论内容