1. Activity的状态:
激活态:任务堆栈的顶部,得到用户的焦点
暂停态:得不到用户焦点,能够看到
停止态:完全看不到
完整周期:onCreate()--->onDestroy();
可见周期:onStart()---->onStop();
onStart()---->onRetart()--->onStop();
前台周期:onResume()--->onPause();
问题:当用户在使用某个软件时(有界面),接到一个来电,用户接完电话后继续使用软件,请写出来电过程中Activity的生命周期方法的调用顺序,并简单解释。
onPause()-->onStop()-->onRetart()-->onStart()-->onResume()
2.onSaveInstanceState()的调用:遵循一个原则:当系统“未经你许可”时有可能销毁你的activity时 调用该方法,系统必须提供一个机会让你保存数据。
“未经你许可”包括哪些情况:
1)当用户按下HOME键时
2)长按HOME键,选择运行其他的程序时
3)按下电源按键(关闭屏幕显示)时。
4)屏幕方向切换时,例如从竖屏切换到横屏
在屏幕切换前,系统会销毁Activity A,在屏幕切换之后系统又会自动地创建Activity A所以onSaveInstanceState()和onRestoreInstanceState()都被调用,这种情况一对操作。
5)从Activity A中启动一个新的Activity 时
3.建立AlertDialog对象,演示Activity与非Activity对象之间的切换与状态的关系
总结:1.FirstActivity, 操作返回键和HOME键的解释状态转换
2.建立SecondActivity,两个Activity的切换
3.任务堆栈Task,建立对话框风格的Activity,演示onPause()和onResume()的调用
4.演示onSaveInstanceState()和onRestoreInstanceState()的调用
5.建立AlertDialog对象,演示Activity与非Activity对象之间的切换与状态的关系
|
|