您的位置:首页 > 移动开发 > Android开发

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

2016-07-25 21:07 645 查看
在《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()方法中使用才有效果,应用就是这个原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  onStart onStop