Android基础之Activity生命周期和优先级

来源:互联网 发布:虚拟声卡软件 编辑:程序博客网 时间:2024/06/05 02:16

一:正常情况下,activity会经历如下生命周期。

1):onCreate:表示activity正在被创建。2):onRestart:表示activity正在重新启动。3):onStart:表示activity正在重新启动。4):onResume:表示activity已经可见了,已经出现在前台并开始活动。5):onPause:表示activity正在被停止。6):onStop:表示activity即将被停止。7):onDestory:表示activity即将销毁。

当一个特定的activity第一次被创建的时候生命周期如下:
这里写图片描述

当跳转到其他的activity生命周期如下:activity1先调用onPause 然后activity2创建 然后activity1在onStop;
这里写图片描述

当再返回activity1的时候生命周期如下:activity1调用onRestart然后onstart-onResume activity2停止然后销毁
这里写图片描述

当按HOME键返回桌面再点进来。
这里写图片描述

注:当跳转的时候旧activity必须onPause之后才能开启新的activity。

二:异常情况下activity生命周期。
当activity被异常回收:
销毁前会调用onSaveInstanceState
重新创建以后会调用onRestoreInstanceState
这里写图片描述

三:activity优先级
(1)前台可见正在和用户交互的activity优先级最高;
(2)可见但是非前台activity,如activity弹出个窗口。
(3)后台已经暂停的activity优先级最低,当内存不足的时候优先回收这些activity所在的进程,后通过onSaveInstanceState和onRestoreInstanceState来存储和恢复数据。

如果一个进程没有四大组件支持很容易被杀死,比较好的方法是将后台程序放入service中保证优先级的提高,这样就不会轻易被杀死。
0 0