Activity系列讲解---三大基本状态与七大生命周期函数
简介:四大组件之一,在应用中一个Activity可以用来表示一个界面,可以理解为用户可视化界面,一个android应用必须通过Activity来运行和启动。
1.三大基本状态与七大生命周期函数
![]() |
![]() |
2.代码实现---LifeCycleActivity.class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | /** * Activity的三个状态和七大生命周期方法分析 * */ public class LifeCycleActivity extends AppCompatActivity { /** * Activity创建时第一个调用的方法,通常我们在该方法中加载布局文件,初始化UI组件,事件注册等等 * @param savedInstanceState */ @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_life_cycle); System.out.println( "Activity---->onCreate" ); } /** * 在onCreate()之后调用,用于显示界面,但用户还不能进行交互 */ @Override protected void onStart() { super .onStart(); System.out.println( "Activity---->onStart" ); } /** * 在onStart()之后调用,该方法执行完成后,用户可以进行交互,当前Activity进入Resumed状态 * 当一个paused状态的activity被重新返回时,会再次调用该方法,让activity进入运行状态 */ @Override protected void onResume() { super .onResume(); System.out.println( "Activity---->onResume" ); } /** * 当其它activity(透明或窗口模式)进入时,会被调用,让当前activity进入paused状态(暂停状态) * 当前activity还可见但不可交互,如果其它更高优先级的APP需要内存时,当前activity可能会被销毁(kill) * 当前activity被返回时会调用onResume() */ @Override protected void onPause() { super .onPause(); System.out.println( "Activity---->onPause" ); } /** * 当其它activity完全覆盖该activity时,会被调用,当前activity进入stop状态(停止状态) * 当前activity不可见,如果其它更高优先级的APP需要内存时,当前activity可能会被销毁(kill) * 当前activity被返回时会调用onRestart() */ @Override protected void onStop() { super .onStop(); System.out.println( "Activity---->onStop" ); } /** * 当一个stopped状态的activity被返回时调用,之后再调用onResume方法进入运行状态 */ @Override protected void onRestart() { super .onRestart(); System.out.println( "Activity---->onCreate" ); } /** * 当前activity被销毁时调用,通常在该方法中用来释放资源 */ @Override protected void onDestroy() { super .onDestroy(); System.out.println( "Activity---->onDestory" ); } } |
3.运行结果分析:
(1)当启动actvity时,会调用onCreate()-->onStart()-->OnResume()
(2)当按Home键或者锁屏键时,会调用OnPause()-->OnStop()
(3)当按退出键时,会调用OnPause()-->OnStop()-->OnDestory()
(4)当解开锁屏时,会调用OnRestart()-->OnStart()-->OnResume()
分类:
Android
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞