1. Acivity
用户与程序交互的一个载体,是应用程序的一个门面,相当于一个jsp页面,不同的是Activity里的是事件驱动,而jsp是request请求驱动
2.生命周期
3.Acitvity启动模式?
Activty启动提供了四种启动模式。
launchMode:
Standard 每次启动新的活动窗口(new操作)
singleTop 如果在栈顶是目标活动,则直接打开.否则开启新的活动窗口(new).
singleTask 不管是位于栈顶还是栈底,再次运行这个Activity时,都会destory掉它上面的Activity来保证整个栈中只有一个自己
singleInstance Activity压入一个新建的任务栈中
singleTask和singleInstance基本上相同.差别在于若根活动设置为singleTask时,则由此所开启的活动也在同一任务中,即taskId相同
4.onSaveInstanceState onRestoreInstanceState
onSaveInstanceState 会被调用的情况:
1)、当用户按下HOME键时。 这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity A是否会被销毁,故系统会调用onSaveInstanceState,让用户有机会保存某些非永久性的数据。以下几种情况的分析都遵循该原则
2)、长按HOME键,选择运行其他的程序时。
3)、按下电源按键(关闭屏幕显示)时。
4)、从activity A中启动一个新的activity时。
5)、屏幕方向切换时,例如从竖屏切换到横屏时。在屏幕切换之前,系统会销毁activity A,在屏幕切换之后系统又会自动地创建activity A,所以onSaveInstanceState一定会被执行
原则:
即当系统“未经你许可”时销毁了你的activity,则onSaveInstanceState会被系统调用