Android开发:activity生命周期基础入门(2)

2,横竖屏切换的时候,activity是会被销毁再重建的。这里可用onSaveInstanceState方法储存需要的状态数据,并利用onRestoreInstanceState回复状态(onRestoreInstanceState(Bundle)里传入的Bundle参数是由onSaveInstanceState封装好的)。关于onSaveInstanceState的调用的详细介绍,点这里

3,如果activity中内容够多,在切换时,可能产生延迟。如果同时原来的activity还有背景音乐的控制能时,在onPause , onStop,还是onDestory中暂停音乐就比较关键了。不同选择有不同的用户体验效果。一般的,在哪个方法中存储数据,就在对应的回复方法中恢复数据,是相对安全的(比如在onStop中存储数据,在onStart中恢复数据),当然有特例。

4,一般来说,在重写onResume()等方法的代码时:如果是初始化一个activity,将自己的代码写在super方法的后面,让系统完成基本资源的初始化后,再执行自己的初始化代码。如果是结束一个activity,则将自己的代码写在super方法的前面,以免系统提前结束相应功能,妨碍自己的代码执行。当然,也有特例(For example, the theme I wanted to apply to my PreferenceActivity wouldn't take effect unless I put it before the superclass's onCreate(). )

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwjfj.html