android--day two 任务栈和生命周期



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 单一实例。在整个手机操作系统中只会有一个实例存在。  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值