现在的位置: 首页 > 综合 > 正文

Acivity

2019年09月07日 ⁄ 综合 ⁄ 共 831字 ⁄ 字号 评论关闭

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会被系统调用

抱歉!评论已关闭.