android lifecycle之onpause
来源:互联网 发布:gta5驾驶优化mod 编辑:程序博客网 时间:2024/04/30 08:02
今天又把activity的生命周期学习了一遍,发现了一个问题--对onpause的调用还不是特别的清楚。所以就查阅了一些资料来加强一下对这部分的学习。
OnPause(暂停)
Paused状态是当 Activity 暂时暗下來,退到背景页面的状态。
假如当我们的电话来了时,都会让原来正在运行的Activity退到背景页面。新出现的toast界面元件遮住了原来的Activity页面。Activity处在Pause的状态时,使用者无法与原Activity互动。
Android的七个回调函数可以分为一下3部分:
1. 资源分配 (Create/Destroy)
完整的 Activity 生命週期由Create状态開始,由Destroy状态結束。 建立(Create)时分配资源,销毁(Destroy)时释放资源。
2. 可见与不可见(Start/ReStart/Stop)
当Activity 运行到Start状态时,就可以在屏幕上看到这个 Activity。相反地,当Activity 运行到Stop状态时,这个Activity 就会从屏幕上消失。
当使用者按下 Back 按纽回到上一个 Activity 时,会先到 Restart 状态,再到一般的 Start 状态。
3. 使用者能否直接存取屏幕(Resume/Pause)
当有 短消息、电话等讯息进入时,原來的 Activity 会退到Pause状态,暂时放弃直接存取屏幕的能力,被中斷到背景去,將前景交給优先級高的事件。当这些优先级
高的事件处理完后,Activity 就改进入Resume状态,此时又直接存取屏幕。
android的基本运作流程:
1 一般型
onCreate -> onStart -> onResume
启动一个 Activity 的基本流程是:分配资源给这个Activity(Create 状态),然后將 Activity 內容显示到屏幕上(Start 状态)。在一切就绪后,取得屏幕的控制权(Resume 状态),使用者可以开始使用这个程式。
2 跳转到另一个 Activity
onPause(1) -> onCreate(2) -> onStart(2) - onResume(2) -> onStop(1)
这是个先不改变的原本的 Activity,再交出直接存取屏幕能力(Pause 状态)的过程。 直到 Activity 2 完成一般启动流程后,Activity 1 才会被停止。
3 返回到原 Activity
onPause(2) -> onRestart(1) -> onStart(1) -> onResume(1) -> onStop(2) -> onDestroy(2)
点 Back 按钮可以回到原本的 Activity。
4 退出結束
onPause -> onStop -> onDestroy
如果程式中有直接呼叫finish()函数来关闭 Activity的话,系统则调用 onDestroy 暂停(Pause),停止(Stop),然后销毁(Destroy)。
5 重新启动activity
onCreate -> onStart -> onResume被回收掉的 Activity 一旦又重新被呼叫时,会像一般启动一样再次呼叫 Activity 的 onCreate 函数。
- android lifecycle之onpause
- android 之 Activity lifecycle
- Android onPause
- 【架构分析】Android Activity切换之onPause
- Android学习之 Activity 生命周期(LifeCycle)
- Android官方架构组件介绍之LifeCycle
- Android官方架构组件介绍之LifeCycle
- Android Architecture Component之Lifecycle-Aware Components
- Android架构组件学习之LifeCycle
- android lifecycle
- android:lifecycle
- Android: OnPause vs OnStop
- Android Activity onPause与onStop
- android onPause()和onStop()区别
- Google I/O Android官方新体系架构之:Lifecycle
- Google I/O Android官方新体系架构之:Lifecycle
- android之生命周期(二)onPause()、onResume()、onStop()详解:有实例
- maven 之 build lifecycle
- TCP流量控制和拥塞控制
- iOS 5 ARC 入门 (1/3)
- 关于类的静态成员
- iOS 5 ARC 入门 (2/3)
- ubuntu 配置android adb
- android lifecycle之onpause
- 数据段、代码段、堆栈段、BSS段的区别
- 项目百态 笔记1
- 2.66 表示在x二进制表示中最左端1的掩码
- linux抓包命令
- android log
- 指针 学习笔记2
- iOS 5 Storyboard 入门-1
- web基础