安卓activity的生命周期理解
2016-07-03 20:38
246 查看
先看看Activity的生命周期图
Activity的生命周期由几个过程
1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
6.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。
在 android 中,Activity 拥有四种基本状态:
Active/Runing一个新 Activity
启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
Paused 当 Activity 被另一个透明或者
Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
Stoped 当 Activity 被另外一个 Activity
覆盖、失去焦点并不可见时处于 Stoped状态。
Killed Activity 被系统杀死回收或者没有被启动时处于 Killed状态。
当一个 Activity 实例被创建、销毁或者启动另外一个 Activity 时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程序的动作。下图说明了 Activity 在不同状态间转换的时机和条件:
当我们对应用的Activity有不同的操作的时候~~~Activity会对应的调用不同的方法。在写代码可以把代码写在对应的方法中,不用都挤在oncreate方法里面。
Activity的生命周期由几个过程
1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
6.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。
Activity 的状态及状态间的转换
在 android 中,Activity 拥有四种基本状态:Active/Runing一个新 Activity
启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
Paused 当 Activity 被另一个透明或者
Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
Stoped 当 Activity 被另外一个 Activity
覆盖、失去焦点并不可见时处于 Stoped状态。
Killed Activity 被系统杀死回收或者没有被启动时处于 Killed状态。
当一个 Activity 实例被创建、销毁或者启动另外一个 Activity 时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程序的动作。下图说明了 Activity 在不同状态间转换的时机和条件:
当我们对应用的Activity有不同的操作的时候~~~Activity会对应的调用不同的方法。在写代码可以把代码写在对应的方法中,不用都挤在oncreate方法里面。
相关文章推荐
- ppt-配色
- 泛型Class<T>和 T
- Tsar 服务器系统和应用信息的采集报告工具
- Redis学习笔记(二)-key相关命令
- Android 热修复其实很简单
- 格式化字符串-学习笔记
- opensslmd5算法源码c++版
- Mysql各版本安装包下载地址
- 傅氏古碑考察记
- Java Web 学习笔记之一:服务器获取表单上传的文件
- js文件处理
- Android Studio Mac 常用快捷键
- TYVJ P1403 [NOIP2010]关押罪犯
- Spring-bean的装配
- Android使用ContentObserver进行实时短信填写
- Ubuntu QT for Android完整搭建过程
- dp专题
- WIN7系统32位或者64位运行ARCENGINE报错的解决方法
- 计算机信息数字化基础
- Java8 Lambda