Android_Activity生命周期

通过前面一段时间的学习,我们很清楚我们的一系列操作都离不开的一个东西,就是我们的activity 。接下来我们对 Activity 进行系统的总结。

Activity 的四种基本状态

1.运行态(Running)

  Activity 处于屏幕最前端,用户可见且获得焦点。

2.暂停态(Paused)

  Activity被置于后台,用户可见,但失去焦点

3.停止态(Stopped)

  Activity 被新的Activity覆盖失去焦点,用户不可见。

4.终止态(Destroyed)

  Activity被系统终止,资源被回收。

 Activity 的生命周期

   onCreate: 创建Activity 的实例对象的方法
   onStart : 启动当前的 Activity 实例的方法
   onResume: 如果该方法执行,页面的实例就和用户可以进行交互
   onPause: 如果该方法执行,页面就和用户不再交互失去焦点,页面仍旧可见 在内存当中
   onStop:页面就和用户完全不可见
   onDestroy: 销毁当前的 Activity 的页面实例
   onRestart:将至于后台的应用程序的Activity 重新显示在前台的时候被调用

注意:

  Activity 的生命周期方法都是成对出现的。onStart----onStop  ; OnCreate -----onDestroy ;onResume----onPause

  onResume----onPause 方法会比其他的生命周期方法执行的比较频繁,所以一般在这两个方法中写的代码较少

这里是官网总结的activity 运行流程图

接下来,我们还是上代码带大家走一遍,感受下activity 的生命周期。

我们直接创建一个项目,利用logcat 观察他的生命周期。

 1 package com.example.testactivitylife;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.util.Log;
 6 import android.view.Menu;
 7 import android.view.MenuItem;
 8 
 9 
10 public class MainActivity extends Activity {
11 
12     //页面实例被创建的方法
13     @Override
14     protected void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.activity_main);
17         Log.i("TAG", "onCrate方法被执行");
18         
19     }
20     @Override
21     protected void onStart() {
22         Log.i("TAG", "onStart方法被执行");
23         super.onStart();
24     }
25     
26     @Override
27     protected void onPause() {
28         Log.i("TAG", "onPause方法被执行");
29         super.onPause();
30     }
31     @Override
32     protected void onResume() {
33         Log.i("TAG", "onResume方法被执行");
34         super.onResume();
35     }
36     @Override
37     protected void onStop() {
38         Log.i("TAG", "onStop方法被执行");
39         super.onStop();
40     }
41     @Override
42     protected void onDestroy() {
43 
44         Log.i("TAG", "onDestroy方法被执行");
45         super.onDestroy();
46     }
47     @Override
48     protected void onRestart() {
49         Log.i("TAG", "onRestart方法被执行");
50         super.onRestart();
51     }
52 }

 以上就是activity 的整个生命周期。我了解的大概就是这些。后续我们会在实际案例中,将我们的代码合理的放置于我们的方法中,提高我们程序的运行效率等。

如有不适之处,望各位大神提点出来。[微笑]

原文地址:https://www.cnblogs.com/heyhhz/p/6121767.html