3月22日:
1.生命周期
onCreate()第一次创建时调用的方法。
onDestroy() 销毁时调用。
onStart() 当界面可见时调用。
onStop() 当界面不可见时调用。
onResume()界面开始获取到焦点对应的方法(按钮可以被点击,文本框可以输入内容)
onPause() 界面失去焦点对应的方法(文本框不可输入,按钮不可点击)
完整生命周期: onCreate->onStart->onResume->onPause->onStop->onDestroy
可是生命周期: onStart->onResume->onPause->onStop
前台生命周期; onResume->onPause
生命周期的示例:
1、视频播放器, 当有人给你打电话的时候,界面会不可见,为了不让视频的声音影响到通话,所以重写 onStart和onStop来控制。
2、应用程序退出自动保存数据: onDestroy onCreate。
3、游戏的暂停和开始: onResume onPause
横竖屏的生命周期:
若不指定属性,在切换横竖屏时,系统会将Activity给kill掉并重新打开。 需要在清单文件中配置对应的Activity的属性:configChanges = “orientation|keyboardHidden|screenSize”
tips:在低版本时(低于Android4.0),不需要配置screenSize,大于4.0则需要添加这一属性。保险起见,无论哪个版本都加上最好。
任务栈:
1、一个应用程序由多个Activity组成。
2、任务栈(task stack) 记录存放用户开起的Activity。
3、***一个应用程序一旦被开启,系统就会给他分配一个任务栈,当所有的Activity都退出时,该任务栈也就清空了。***
4、任务栈的id是一个integer的数据类型,自增长。
5、安卓系统中会存在多个任务栈,一个应用程序一个任务栈。
Activity的启动模式:
1、standard 默认标准启动模式。每次startActivity都创建一个Activity实例。
2、singletop 栈顶的Activity已存在,则不会再创建新的实例,而是调用onNewIntent()放啊。
3、singletask 单一任务栈。如果本次激活的Activity在栈中已存在,则激活该Activity,并清除在这个任务上方的所有Activity。
4、singleinstance 单一实例。在整个手机操作系统中只会有一个实例存在。