onStart和onResume,onPause和onStop的不同--Android开发艺术探索

在《Android开发艺术探索》一书中学习到的知识。之前没有特别在意两者的不同。根据书中的内容做一个简单的总结。

onStart和onStop是从Activity是否可见的角度来回调的,onResume和onPause是从Activity是否位于前台来回调。

理解这句话,首先要理解“前台”于“可见”的区别。准确的说,应该是“前台进程”与“可见进程”的区别。前台进行是与用户正在进行交互的进程,可见进程是界面被用户看见,还不能进行交互的状态。这就是为什么Activity的生命周期onStart在onResume之前。在onStart时,还不能进行交互。onResume时才可以进行交互。假如当前已打开A Activity,此时由A Activity转到B Activity时,生命周期是这样的:
A onPause
B onCreate
B onStart
B onResume
A onStop
这个过程就是A Activity由前台转为后台的过程,A的onStop在B的onResume之后执行。之前遇到过一个问题,就是ToolBar的setTitle()方法在onResume()方法中使用才有效果,应用就是这个原因。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值