关于android Activity生命周期的说明

关于activity的生命周期

activity有  onCraete-onStart-onResume-onPause-onStop-onDestroy   这6个是比较常规的,还有两个是onSaveInstanceState以及onRestoreInstanceState。

当新打开一个 activity的时候,执行的是  onCraete-onStart-onResume 的顺序

      1>   按返回键返回,或者调用finish结束此Activity ,则执行的是 onPause-onStop-onDestroy

      2>   按Home键返回,执行onSaveInstanceState-onPause-onStop

             在按了Home之后再次启动这个Activity,执行的是onStart-onResume

      3 > 如果跳转到其他一个新的Activity 则执行 onSaveInstanceState-onPause-onStop,从新的Activity返回,执行onStart-onResume 这个与Home键的顺序一样。

    

      4> 如果按ctrl+f12 从竖屏切换到横屏,执行onSaveInstanceState-onPause-onStop-onDestroy -onCreate-onStart-onRestoreInstanceState-onResume

           如果是从横屏切换到竖屏,会执行两次。 

           如果设置了 Activity的 android:configChanges=“orientation”的属性,不管是横屏还是竖屏都只执行一次

           如果设置了Activity的 android:configChanges="orientation|keyboardhidden",在横竖切换的时候只会执行onConfigurationChanged这个函数

 

    据说,onSaveInstanceState会在当次线程系统因为内存不够而kill的时候会被调用,是否可以写一个实例来测试下?

posted on 2012-02-24 13:18  景树园  阅读(148)  评论(0编辑  收藏  举报

导航