美文网首页Android开发Android知识
调用Activity.finish()方法后的生命周期执行过程

调用Activity.finish()方法后的生命周期执行过程

作者: 这是朕的江山 | 来源:发表于2016-09-22 17:54 被阅读6882次

如题,在安卓各生命周期内调用Activity.finish()方法后会经历哪些生命周期呢?
代码胜于雄辩,通过如下最简单的代码来验证,在不同生命周期插入finish方法得到后面的结果。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {    
  @Override    
  protected void onCreate(Bundle savedInstanceState) 
  {        
    super.onCreate(savedInstanceState);        
    setContentView(R.layout.activity_main);        
    finish();        
    Log.i("hi","onCreate");    
  }    
  @Override    
  protected void onStart() 
  {        
    super.onStart();        
    Log.i("hi","onStart");   
  }    
  @Override    
  protected void onResume() 
  {        
    super.onResume();        
    Log.i("hi","onResume");    
  }    
  @Override    
  protected void onPause() 
  {        
    super.onPause();        
    Log.i("hi","onPause");    
  }    
  @Override   
  protected void onStop() 
  {        
    super.onStop();        
    Log.i("hi","onStop");    
  }    
  @Override    
  protected void onDestroy() 
  {        
    super.onDestroy();        
    Log.i("hi","onDestroy");    
  }    
  @Override    
  protected void onRestart() 
  {        
    super.onRestart();        
    Log.i("hi","Restart");    
  }
}

1.在onCreate方法中执行:

onCreate

2.在onStart方法中执行:

onStart

3.在onResume方法中执行

onResume

4.在onPause方法中执行

onPause

5.在onStop方法中执行

onStop

发现其结果跟onPause是一样的,不同的是在onPause方法执行时按Home键会直接连续调用onPause、onStop、onDestroy,而在onStop中调用的时候按Home键只会先调用onPause、onStop,只有将它从最近任务中移除时才会调用onDestroy

6.在onDestroy方法中执行

onDestroy

7.在onRestart方法中执行

onRestart

相关文章

  • 调用Activity.finish()方法后的生命周期执行过程

    如题,在安卓各生命周期内调用Activity.finish()方法后会经历哪些生命周期呢?代码胜于雄辩,通过如下最...

  • Activity和Fragment的生命周期

    1、activity嵌套frament ,生命周期方法执行顺序 2、横竖屏切换activity生命周期方法调用情况...

  • Activity

    生命周期流程图: Activity生命周期执行过程: (1)启动Activity:系统会先调用onCreate()...

  • Spring bean生命周期

    1、Bean实例生命周期 Bean实例生命周期的执行过程如下: 1、Spring对bean进行实例化(调用构造函数...

  • vue生命周期详解

    1.vue基本生命周期 vue源码中最终执行生命周期函数都是调用callHook方法,callHook函数的逻辑很...

  • UIViewController的生命周期

    提到iOS中VC的生命周期,首先想到的无外乎viewDidLoad、viewWillAppear等方法的调用执行顺...

  • StatefulWidget的生命周期

    widget的生命周期 build构造函数调用 -> 调用build方法 statefulWidget的生命周期 ...

  • 11.方法调用

    方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本,暂时还不涉及方法内部的具体运行过程。 ...

  • iOS开发 tableView的滑动方法

    滑动时,就调用该方法。任何offset值改变都调用该方法。即滚动过程中,调用多次 当开始滑动视图时,执行该方法。(...

  • 关于Service,IntentService的理解

    1. 生命周期 常用方法 官方说明图 在Service的生命周期里,常用的有: 4个手动调用的方法 手动调用方法 ...

网友评论

    本文标题:调用Activity.finish()方法后的生命周期执行过程

    本文链接:https://www.haomeiwen.com/subject/ilbzettx.html