Android Activity生命周期详解
2017-04-06 23:51
525 查看
理解android Activity生命周期能让我们更清楚,应用程序运行的过程我们需要给数据保存,后台运行什么时候对线程暂停与恢复。
下面我们先来看看onCreate,onStart,onRestoreInstanceState,onResume,onPause,onSaveInstanceState,onStop,onDestroy。执行过程。
使用开发环境android studio,测试设备红米1
1.第一次启动应用程序执行过程onCreate()->onStart()->onResume()
2.按返回键(Back)执行过程onPause()->onStop()->onDestroy()
3.按Home键或者锁屏幕执行过程onPause()->onSaveInstanceState()->onStop()
4.按Back键以后再回原来的应用程序执行过程与第一次启动应用过程一样,因为按Back键调用了OnDestroy(),所以相当于重新启动应用。onCreate()->onStart()->onResume()
5.按Home键后再回原来的应用程序(锁屏后再回原来应用也一样)执行过程onRestart()->onStart()->onResume()
6.如果把应用程序在后台服务停止了,然后在重启应用执行过程onCreate()->onStart()->onRestoreInstanceState()->onResume()
以上就是通过各个事件返回得到执行结果。
下面我们先来看看onCreate,onStart,onRestoreInstanceState,onResume,onPause,onSaveInstanceState,onStop,onDestroy。执行过程。
使用开发环境android studio,测试设备红米1
package com.example.xjd.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { // private static final int TAG;// //应用程序启动的时调用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化一个Activity并填充UI Log.i("TAG", "onCreate()"); } //在onCreate()方法完成后调用,用于恢复UI状态 @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); //自activity上次可见之后,只有当系统终止了该Activity时,才会被调用 Log.i("TAG","onRestoreInstanceState()"); } @Override public void onRestart() { //加载改变,知道activity在此进程中已经可见 super.onRestart(); Log.i("TAG","onRestart()"); } //在可见生存期开始时调用 @Override public void onStart() { //Activity快要变成可见的 super.onStart(); Log.i("TAG","onStart()"); } //Activity变成可见的,处于运行状态 @Override public void onResume() { super.onResume(); Log.i("TAG","onResume()"); } //把UI状态改变保存到savedInstanceState @Override public void onSaveInstanceState(Bundle savedInstanceState) { //适合用于保存一些临时性的状态 super.onSaveInstanceState(savedInstanceState); Log.i("TAG","onSaveInstanceState()"); } //其他Activity获得用户焦点,(Activity快要暂停了) @Override public void onPause() { super.onPause(); //退到背景画面的状态,例如当电话来时,原本运行的Activity退到背景画面,新出现的界面半遮住原来的Activity画面。 Log.i("TAG","onPause()"); } //在可见生命期结束时调用,界面消失时调用 @Override public void onStop(){ //挂起不需要的UI更新、线程或者处理等 //当Activity不可见时,保持所有的编辑或者状态改变,因为在调用这个方法后,进程可能会被终止 super.onStop(); Log.i("TAG","onStop()"); } //在整个生命周期结束时调用 @Override public void onDestroy() { //清理所有的资源,包含结束线程、关闭网络、数据库连接等 super.onDestroy(); Log.i("TAG","onDestroy()"); } }
1.第一次启动应用程序执行过程onCreate()->onStart()->onResume()
2.按返回键(Back)执行过程onPause()->onStop()->onDestroy()
3.按Home键或者锁屏幕执行过程onPause()->onSaveInstanceState()->onStop()
4.按Back键以后再回原来的应用程序执行过程与第一次启动应用过程一样,因为按Back键调用了OnDestroy(),所以相当于重新启动应用。onCreate()->onStart()->onResume()
5.按Home键后再回原来的应用程序(锁屏后再回原来应用也一样)执行过程onRestart()->onStart()->onResume()
6.如果把应用程序在后台服务停止了,然后在重启应用执行过程onCreate()->onStart()->onRestoreInstanceState()->onResume()
以上就是通过各个事件返回得到执行结果。
相关文章推荐
- android activity详解二:Activity的生命周期
- 【Android Training - 01】详解Activity生命周期 [ Lesson 1 - 启动与销毁Activity ]
- Android中Activity生命周期详解
- Android开发之Activity生命周期详解
- android Activity 的生命周期的详解
- android activity详解二:Activity的生命周期
- Android开发之:Activity生命周期详解
- android之activity的生命周期详解
- android activity详解二:Activity的生命周期
- Android关于Activity生命周期详解
- Android 程式开发:(一)详解Activity —— 1.1生命周期(前言)
- 有关Android Activity生命周期详解
- 【Android Training - 01】详解Activity生命周期 [ Lesson 3 - 停止与重启Activity ]
- Android Activity生命周期详解
- 【Based Android】详解android中activity的完整生命周期
- 【Android Training - 01】详解Activity生命周期 [ Lesson 0 - 章节概览 ]
- Android Activity 生命周期详解
- Android Activity生命周期详解
- android activity详解二:Activity的生命周期
- Android的四大组件之Activity生命周期详解