第1章 Activity的生命周期和启动模式 1.1 Activity的声明周期全面分析

1.1 Activity的声明周期全面分析

1、典型情况下:

(1)onCreate:表示Activity正在被创建;可进行一些初始化操作。

(2)onRestart:表示Activity正在重新启动;一般在Activity从不可见变为可见时调用。

(3)onStart:表示Activity正在被启动;Activity已可见,但是还没出现在前台。

(4)onResume:表示Activity已经可见;Activity出现在前台并开始活动。

(5)onPause:表示Activity正在停止;可做一些存储数据,停止动画等工作,注意不能太耗时,否则会影响新Activity的显示;正常情况下,紧接着调用onStop;极端情况下,onResume调用(返回特别快)。

(6)onStop:表示Activity即将停止;可做一些稍微重量级的回收工作,同样不能太耗时。

(7)onDestroy:表示Activity即将被销毁;可做一些回收工作和最终的资源释放。

2、问:onStart和onResume、onPause和onStop从描述上来看差不多,对我们来说有什么实质性的不同?

答:onStart和onStop都是从Activity是否可见这个角度来回调的;onResume和onPause是从Activity是否位于前台这个角度来回调的。

3、问:假设当前Activity为A,若这时用户打开一个新ActivityB,那么B的onResume和A的onPause哪个先执行?

答:旧Activity先onPause,新Activity再启动。

4、异常情况下:

(1)情况一:资源相关的系统配置发生改变导致Activity被杀死并重新创建,例如:旋转屏幕。

注:会调用onSaveInstanceState(正常启动时,其参数为null)==>onCreate==>onStart==>onRestoreInstanceState(一旦被调用,其参数一定有值)

(2)情况二:资源内存不足导致低优先级的Activity被杀死。

5、Activity按优先级从高到底,可分为以下三种:

(1)前台Activity:正在和用户交互的Activity。

(2)可见但非前台Activity:例如:弹出对话框。

(3)后台Activity:已经被暂停的Activity。

注:如果一个进程中没有四大组件在执行,那么这个后台进程将很快被系统杀死。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值