Android Activity生命周期

今天给大家简单说一下activity的生命周期和他的四个阶段

首先看视图先了解一下:


它的四个阶段

1. 开始Activity:在这个阶段依次执行3个生命周期方法:onCreate()、onStart()和onResume()。 
2. Activity失去焦点:如果在Activity获得焦点的情况下进入其他的Activity,这时当前的Activity会失去焦点。在这一阶段,会依次执行onPause()和onStop()方法。
3. Activity重新获得焦点:如果Activity重新获得焦点,会依次执行 3个生命周期方法:onRestart()、onStart()和onResume()。

4. 关闭Activity:当Activity被关闭时系统会依次执行3个生命周期方法:onPause()、onStop()和onDestroy()。

public class MainActivity extends AppCompatActivity {  
  private  static final String activity = "Activity生命周期";  
      
    //当Activity第一次被创建时调用,我们可以在这进行初始化操作  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        Log.d(activity,"---->oncreate()执行");  
    }  
    //onStart()方法在Activity开始被执行时调用,它紧随onCreate()方法之后调用  
    protected void onStart() {  
        super.onStart();  
        Log.d(activity,"---->onStart()执行");  
    }  
      
    //onResume()方法在Activity即将与用户交互时调用  
    protected void onResume() {  
        super.onResume();  
        Log.d(activity,"---->onResume()执行");  
    }  
      
    //当Activity从stopped状态启动时会调用onRestart(),后面总是调用onStart()方法  
    protected void onRestart() {  
        super.onRestart();  
        Log.d(activity,"---->onRestart()执行");  
    }  
      
    //在一个Activity启动另一个Activity时调用,它通常被用来持久化数据、停止动画或其他耗费资源的动作,  
    //下一个Activity必须等待这个方法返回后在启动,所以在这里做过多的操作  
    protected void onPause() {  
        super.onPause();  
        Log.d(activity,"---->onPause()执行");  
    }  
      
    //onStop()方法在一个新的Activity启动、其他的Activity切换到前台、当天Activity被销毁时都会被调用  
    protected void onStop() {  
        super.onStop();  
        Log.d(activity,"---->onStop()执行");  
    }  
  
    //Activitybe被销毁时调用  
    protected void onDestroy() {  
        super.onDestroy();  
        Log.d(activity,"---->onDestroy()执行");  
    }  
      
}  

启动程序调用的方法如下:


当打开另一个页面使activity失去焦点调用的方法如下:


当按下返回键使Activity获得焦调用的方法如下:


关闭Avtivity时调用的方法如下:


阅读更多
文章标签: Android
上一篇Fragment和TabLayout使用
下一篇anbroid.database.sqlite.SQLiteException:table HISTORY has nocolumn named sum (code 1):
想对作者说点什么? 我来说一句

activity生命周期

2014年08月10日 1.16MB 下载

basic lifecycle

2016年02月23日 68KB 下载

没有更多推荐了,返回首页

关闭
关闭