生命周期就是一个对象从创建到销毁的过程,每个对象都有自己的生命周期。Activity生命周期分为三种状态。运行状态,停止状态,暂停状态。
一.运行状态 当activity在最前端时,它是可见的,有焦点的,可以用来处理用户的常见的操作。如:点击,双击,长按事件等。系统最不愿回收的就是出于此种状态的活动,这会带来非常差的用户体验。
二.暂停状态 activity依然可见,但它不再拥有焦点,即用户对它的操作没有实际意义。
三.停止状态 activity完全不可见,但仍然保留着当前状态和成员信息。如果当系统内存不足,其他地方需要内存时,它会被系统回收。
完整的生命周期方法
onCreate()
Activity 首次创建时调用
必须实现的方法,用于初始化基本组件
应该在此处调用 setContentView() 设置布局
接收 savedInstanceState 参数(可能为 null)
onStart()
Activity 变为可见状态时调用
此时 Activity 还未出现在前台,不能与用户交互
适合初始化需要在 Activity 可见时运行的组件
onResume()
Activity 进入前台并可与用户交互时调用
在此方法中恢复动画、摄像头等独占资源
应用的核心功能通常在此状态下运行
onPause()
当 Activity 开始失去焦点时调用
另一个 Activity 即将进入前台(如对话框或新 Activity)
应该在此保存持久性数据,停止动画等消耗资源操作
注意:不能执行耗时操作,否则会影响新 Activity 的显示
onStop()
Activity 完全不可见时调用
新 Activity 已完全覆盖当前 Activity
释放不需要在 Activity 不可见时使用的资源
onDestroy()
Activity 被销毁前调用
可能是用户主动关闭或系统为回收内存
清理所有资源,避免内存泄漏
onRestart()
Activity 从停止状态重新启动时调用
在 onStop() 后且 Activity 再次显示前调用
常见场景的生命周期变化
正常启动和退出
onCreate() → onStart() → onResume()
onPause() → onStop() → onDestroy()
按下Home键
onPause() → onStop()
从后台返回
onRestart() → onStart() → onResume()
屏幕旋转
onPause() → onSaveInstanceState() → onStop() → onDestroy()
onCreate() → onStart() → onRestoreInstanceState() → onResume()


暂无评论