• Android的Activity什么时候会调用onCreate()而不调用onStart()?


    最近遇到一个问题,就是Android的Activity什么时候会调用onCreate()而不调用onStart(),在正常的开发过程中很少会考虑到这个问题,只有遇到一些异常情况,才会去打断点看看生命周期的过程。

    1. public class MainActivity extends Activity {  
    2.     Button btn;  
    3.     @Override  
    4.     protected void onCreate(Bundle savedInstanceState) {  
    5.         super.onCreate(savedInstanceState);  
    6.         setContentView(R.layout.activity_main);  
    7.         Log.d("TAG", "onCreate");  
    8. //      super.onStop();  
    9. //      super.onDestroy();  
    10.         finish();  
    11.         btn = (Button)findViewById(R.id.btn1);        
    12.     }  
    13.     @Override  
    14.     protected void onDestroy() {  
    15.         // TODO Auto-generated method stub  
    16.         super.onDestroy();  
    17.         Log.d("TAG", "onDestroy");  
    18.     }  
    19.     @Override  
    20.     protected void onPause() {  
    21.         // TODO Auto-generated method stub  
    22.         super.onPause();  
    23.         Log.d("TAG", "onPause");  
    24.     }  
    25.     @Override  
    26.     protected void onRestart() {  
    27.         // TODO Auto-generated method stub  
    28.         super.onRestart();  
    29.         Log.d("TAG", "onRestart");  
    30.     }  
    31.     @Override  
    32.     protected void onResume() {  
    33.         // TODO Auto-generated method stub  
    34.         super.onResume();  
    35.         Log.d("TAG", "onResume");  
    36.     }  
    37.     @Override  
    38.     protected void onStart() {  
    39.         // TODO Auto-generated method stub  
    40.         super.onStart();  
    41.         Log.d("TAG", "onStart");  
    42.     }  
    43.     @Override  
    44.     protected void onStop() {  
    45.         // TODO Auto-generated method stub  
    46.         super.onStop();  
    47.         Log.d("TAG", "onStop");  
    48.     }  
    49. }  

    我们在onCreate()里面加了super.onStop();或super.onDestroy();,这样执行到onCreate()函数时,执行流程是这样的:onCreate -> onStop或onDestroy -> onStart -> onResume。最终还是会执行onStart。而如果加上finish(),则onCreate -> onDestroy,而不会执行onStart。

  • 相关阅读:
    任务08——第一次半月学习总结
    任务5
    任务4
    任务3
    任务2
    mission 01
    HTML-CSS-JS Prettify报错Node.js was not found
    **1279
    UVa 10735
    UVa 1515
  • 原文地址:https://www.cnblogs.com/yxgyiwen/p/7232638.html
Copyright © 2020-2023  润新知