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()

  

posted on   泰洋  阅读(2191)  评论(0编辑  收藏  举报

编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞

导航

< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5
点击右上角即可分享
微信分享提示