Android中的Activity生命周期

生命周期:一个对象从被创建出来(new())到被销毁(垃圾回收)的过程

当只有一个Activity时,部署成功时首先会先执行onCreate()、onStart()、onResume()方法

当在一个Activity中要激活另外一个Activity时,首先会先执行onCreate->onStart()->onResume(),然后调用onPause,最后再调用第二个Activity的onCreate()->onStart()->onResume()->onStop()方法(第一个Activity停止的方法)。点击后退键后调用onPause()->onStop()->onDestroy()

当在一个Activity中要激活另外一个Activity时,但第一个Activity所显示的内容仍然可见(弹出对话框)。首先会先执行onCreate->onStart()->onResume(),然后调用onPause,最后再调用第二个Activity的onCreate()->onStart()->onResume()方法。

onResume()方法在界面获得焦点的时候执行  onPause()方法在界面失去焦点的时候执行。onStop()方法在界面不可用的时候调用

当一个Activity被部署成功后(播放视频、音乐等),有电话打过来的时首先调用onPause()->onStop()方法,

当挂断电话时首先调用onRestart()、onStar()、onResume()方法。

 切换屏幕的生命周期:当不加配置时,切换屏幕的生命周期依次调用onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()->onCreate()->onStart()->onResume().这个过程相当于之前的Activity被销毁重新创建了一个Activity。在一些Android开发应用程序如果要保留之前的数据那么这么一切换屏幕数据又重新初始化(例如:游戏中生命条),为了防止这种情况的发生应该对这个切换屏幕的生命周期加以配置:在 Manifest中Activity标签中添加android:configChanges="keyboardHidden|orientation"即可。

记住页码(阅读一些电子书):首先重写Activity的onSavedInstanceState(Bundle outState){}函数,再添加android:configChanges="keyboardHidden|orientation"配置,经处理后,在手机切换屏幕后,依然能记住上次阅读到的页码。

posted @ 2014-11-24 19:26  foxing  阅读(166)  评论(0)    收藏  举报