Activity 四种状态
基本状态
1、Active/Running:
一个新 Activity 启动入栈后,它显示在屏幕最前端,Activity处于活动状态,此时Activity处于栈顶,此时它处于可见并可和用户交互的激活状态,叫做活动状态或者运行状态(active or running)
2、Paused:
当Activity失去焦点时,或被一个新的非全屏的Activity,或被一个透明的Activity放置在栈顶时,Activity就转化为暂停状态。但我们需要明白,此时Activity只是失去了焦点故不可与用户进行交互,它依然与窗口管理器保持连接,其所有的状态信息及其成员变量都还存在,只有在系统内存紧张的情况下,才有可能被系统回收掉。
3、Stopped:
当一个Activity被另一个Activity完全覆盖时,被覆盖的Activity就会进入Stopped状态。它依然保持所有状态和成员信息,此时它不再可见,当系统内存需要被用在其他地方的时候,Stopped的Activity将被强行终止掉。
4、Killed:
当Activity被系统回收掉时,Activity就处于Killed状态。如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。
优先级顺序:运行状态>暂停状态>停止状态>销毁状态
状态转换
当一个 Activity 实例被创建、销毁或者启动另外一个 Activity 时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程序的动作。下图说明了 Activity 在不同状态间转换的时机和条件:
程序员可以启动一个 activity,但是却不能手动的“结束”一个 activity。当你调用 Activity.finish()方法时,这是一个结束activity的动作,当此方法调用的时候,系统会将其栈顶的activity移出,并没有及时的释放资源,Android系统当没有可用的资源时候会按照优先级,释放掉一部分。
相关文章
- android activity singletask,Android Activity启动模式之singleTask实例详解
- allure报告打开为loading状态「建议收藏」
- 感觉自己没工作效率?来看看Facebook内部的26张PPT,让你快速提升工作状态!~看完比喝浓缩红牛管用!
- iStatistica Pro for mac(Mac硬件状态监控工具)v5.0免激活版
- 【Android 应用开发】Activity 返回堆栈清除操作 ( 默认状态 | 清除返回堆栈配置 | 不清除返回堆栈配置 | 清除指定界面配置 )
- 全景AR增强监视系统对接SkeyeIVMS视频云管控系统实现软硬件资源的健康状态管理(三)
- 通过状态锁在 Solidity 智能合约中实现两阶段提交
- MySQL Status Audit_log_event_max_drop_size 数据库状态作用意思及如何正确
- MySQL Status Innodb_log_waits 数据库状态作用意思及如何正确
- MySQL Status validate_password_dictionary_file_words_count 数据库状态作用意思及如何正确
- 深入理解Redis:查看库状态(redis库查看)
- Linux如何修改文件为只读状态(linux修改只读)
- Linux下磁盘管理实现最佳状态(linux 磁盘信息)
- IIS下自定义404页面返回200状态码的严重性及解决方法