Activity生命周期理解之二 Pausing and Resuming an Activity

在正常的应用里,activity有时会被其他虚拟的组件阻碍从而使activity pause。比如,当一个半透明的activity打开(比如这种风格的对话框),先前的activity  pause。

同时,一旦activity完全阻断了并不可见,它变为stop。

当你的activity进入paused状态时,系统调用onPause()函数,它允许你停止不应该继续的行为,或者保存一下信息如果用户继续操作离开你的应用的话。如果用户返回你的应用的话会调用onResume()方法。


当系统调用onPause()方法时,它意味着你的activity部分可见,但大多数情况下表明用户要离开这个activity并且很快进入Stopped状态。你应该调用onPause()回调进行:

(1)停止动画和其他消耗CPU的动作

(2)提交未保存的改变,前提是用户在离开activity的时候这种改变被永久保存
(3)释放系统资源,比如广播接收器,传感器(比如GPS),处于paused状态并且用户并不需要它们的时候影响到电池寿命的情况下

应当避免在onPause()里执行CPU高强度的工作,比如写入数据库,因为它会减慢跳转到下一activity的动画(你应该把这样的代码放到onStop()中)


onResume是在第一次创建的时候和从onPause()恢复的时候进行调用的


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值