手记

正常与异常情况下的Activity生命周期、数据的存储与恢复

 Activity常用生命周期有7个:onCreate、onStart、onResume、onRestart、onPause、onStop、onDestory

 

 正常情况:

                 1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后 调用onResume,Activity进入运行状态。

               2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。

               3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。

               4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调             用onStop 方法,进入停滞状态。

              5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行       状态。

              6.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。                         

注意的问题:当用户打开一个新的Activity,当前Activity的onPause会比新Activity的onResume先执行。

    

 异常情况下:

一、       横竖屏切换

当前Activity会被销毁,系统数据会在onStop之前调用onSavaInstanceState来保存数据;当Activity被重新创建后,系统会调用onRestoreInstanceState把保存数据的Bundle对象传给onRestoreInstanceState和onCreate方法,之后就可以取出保存的数据onRestoreInstanceState在onStart之后执行

注意问题:

        如果不想重建Activity,可以在Manifest里设置:configChanges=”oritation|screenSize”

           二:系统内存不足,系统会杀死低优先级的Activity

 

原文链接:http://www.apkbus.com/blog-820900-61679.html

0人推荐
随时随地看视频
慕课网APP