android笔记之activity生命周期和启动模式
2017-12-24 16:45
337 查看
Activity生命周期
void onCreate()
Activity已经被创建完毕void onStart()
Activity已经显示在屏幕,但没有得到焦点void onResume()
Activity得到焦点,可以与用户交互void onPause()
Activity失去焦点,无法再与用户交互,但依然可见void onStop()
Activity不可见,进入后台void onDestroy()
Activity被销毁void onRestart()
Activity从不可见变成可见时会执行此方法使用场景
Activity创建时需要初始化资源,销毁时需要释放资源;或者播放器应用,在界面进入后台时需要自动暂停完整生命周期(entire lifetime)
onCreate–>onStart–>onResume–>onPause–>onStop–>onDestory可视生命周期(visible lifetime)
onStart–>onResume–>onPause–>onStop前台生命周期(foreground lifetime)
onResume–>onPauseActivity的四种启动模式
每个应用会有一个Activity任务栈,存放已启动的ActivityActivity的启动模式,修改任务栈的排列情况
standard 标准启动模式
singleTop 单一顶部模式
如果任务栈的栈顶存在这个要开启的activity,不会重新的创建activity,而是复用已经存在的activity。保证栈顶如果存在,不会重复创建。
应用场景:浏览器的书签
singeTask 单一任务栈,在当前任务栈里面只能有一个实例存在
当开启activity的时候,就去检查在任务栈里面是否有实例已经存在,如果有实例存在就复用这个已经存在的activity,并且把这个activity上面的所有的别的activity都清空,复用这个已经存在的activity。保证整个任务栈里面只有一个实例存在
应用场景:浏览器的activity
如果一个activity的创建需要占用大量的系统资源(cpu,内存)一般配置这个activity为singletask的启动模式。webkit内核 c代码
singleInstance启动模式非常特殊, activity会运行在自己的任务栈里面,并且这个任务栈里面只有一个实例存在
如果你要保证一个activity在整个手机操作系统里面只有一个实例存在,使用singleInstance
应用场景: 电话拨打界面
相关文章推荐
- Android开发艺术探索阅读笔记之一:Activity的生命周期和启动模式
- Android开发笔记----Activity再学习(生命周期、启动模式、intent-filter)
- Android笔记:Activity的生命周期以及启动模式
- 笔记一 Android开发艺术探索之Activity的生命周期和启动模式
- Android开发艺术探索笔记(一) Activity的生命周期和启动模式(1)
- Android-Activity的四状态、七生命周期、和四启动模式
- Android笔记(五) Activity的启动模式
- android_activity的生命周期和启动模式
- Android开发艺术-第一章Activity的生命周期和启动模式
- Android中Activity启动模式学习笔记
- Android中Activity生命周期以及启动模式
- Android开发探索第一章 Activity生命周期及启动模式总结(一)
- 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)
- Android开发探索第一章 Activity生命周期及启动模式总结(二)
- 【读书笔记】【Android 开发艺术探索】第1章 Activity 的生命周期和启动模式
- Android 高级开发笔记 第二章 Activity的启动模式
- android基础笔记:Activity启动模式
- Android(java)学习笔记225:Activity与Task的4种启动模式
- 《Android开发艺术探索》笔记之Activity的生命周期和启动模式
- Android核心基础-8.Android四大组件之Activity-3.生命周期、横竖屏切换、启动模式、进程管理