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是从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()方法中使用才有效果,应用就是这个原因。
相关文章推荐
- Android Activity 初识(二)
- activity state save
- 一个Activity开启另一额Activity时各生命周期函数调用顺序
- 1.Activity正常状况下的生命周期的扩展学习笔记
- Activity的生命周期
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- activity生命周期
- Android开发笔记-------Activity生命周期
- (待处理)startService(onStart调用)
- Android Activity生命周期详解
- onWindowFocusChanged 调用时机
- Android主题样式之副作用
- Android Activity的生命周期状态和生存期
- okhttp3相关封装配置(三):Callback封装,添加onStart()和onFinish()回调方法
- Android Activity 生命周期中onStart()和onResume()的区别
- Android socket通信 readline方法阻塞
- Android Espresso浅谈
- Android monkeyrunner整理
- Android之mediarecorder中的方法以及工作流程的过程
- Toolbar:工具条,SearchView:搜索视图