Activity的启动流程

今天看到一个文档,上边对Activity的启动和销毁过程有比较详细的描述,记录下来,虽然之前一直在用,但是没有这么详细

启动一个 activity 的流程:
onCreate(null)‐>onContentChanged‐>onStart‐>onResume‐>onWindowFocusChanged(true) ;
 
退出一个 activity 的流程:
onBackPressed‐>onPause‐>onWindowFocusChanged(false)‐>onStop‐>onDestroy ;
 
启动一个 activity1后,再启动一个 activity2 的流程:
1onSaveInstanceState‐>1onPause‐>2onCreate(null)‐>2onContentChanged‐>2onStart‐>2onResume‐>1onWindowFocusChanged(false)‐>2onWindowFocusChanged(true)‐>1onStop ;
 
启动一个 activity1,再启动一个 activity2,再返回到 activity1 的流程:
2onBackPressed‐>2onPause‐>1onRestart‐>1onStart‐>1onResume‐>1onWindowFocusChanged(true)‐>2onWindowFocusChanged(false)‐>2onStop‐>2onDestroy ;
 
长按 home 键,进入 history,再点击应用返回的流程:
onWindowFocusChanged(false)‐>onWindowFocusChanged(true) ;
 
短按 home 键,应用进入后台的流程:
onSaveInstanceState‐>onPause‐>onWindowFocusChanged(false)‐>onStop ;
 
从后台再返回到前台的流程:
onRestart‐>onStart‐>onResume‐>onWindowFocusChanged(true) ;
 
注:
如果 manifest.xml 中含有两个 LAUNCHER 的 activity,则在主菜单中会列出两个启动图标。

 

 

posted on 2012-02-15 12:34  佐岸沧海  阅读(558)  评论(0编辑  收藏  举报