摘自:http://blog.csdn.net/wyh0802/archive/2010/09/19/5895552.aspx
[两分钟彻底让你明白Android Activity生命周期(图文)!]
可借鉴:http://blog.csdn.net/android_tutor/article/details/5772285
1、Activity有三种状态:
- 激活或者运行状态,运行在前台(在当前Activity栈的栈顶)。
- 暂停状态,失去了焦点但是仍然对用户可见,比如有其他的Activity在它之上,或者透明或者没有遮住整个屏幕。
- 停止状态,被其他Activity覆盖,需要注意的是包括暂停状态在内,这两种状态都仍然保存了所有状态信息,直到被系统终止。
2、操纵生命周期的七种方法:
方法
描述
是否可被杀死
下一个操作
onCreate() |
初始化,创建views,绑定list的数据等等 |
否 |
onStart() |
onRestart() |
在Activity被停止后调用 |
否 |
onStart() |
onStart() |
在Activity被用户可见之前调用 |
否 |
onResume() 或者 onStop() |
onResume() |
在Activity和用户交互之前调用(快速,持久化) |
否 |
onPause() |
onPause() |
在系统要激活另一个Activity时调用(快速) |
是 |
onResume() 或者 onStop() |
onStop() |
在Activity不再可见时调用 |
是 |
onRestart() 或者 onDestroy() |
onDestroy() |
在Activity被销毁时调用 |
是 |
3、Activity的运作流程
- 一般启动Activity:onCreate -> onStart -> onResume
- 呼叫另一个Activity: onPause -> onCreate -> onStart -> onResume -> onStop
- 还原Activity: onPause -> onRestart -> onStart -> onResume -> onStop -> onDestroy
- 退出Activity: onPause -> onStop -> onDestroy
- 回收再启动Activity: onCreate -> onStart -> onResume
4、作者经验
- 许多人尤其是初学者都认为Activity的生命周期并不重要,只要onCreate了就ok,实际则不然,当你需要在多个Activity之间切换的时候生命周期的作用就展现了出来,尤其是在Activity之间进行数据传递或者对数据库操作的时候。
- onResume和onRestart的作用有些相似,很多人对此感到困惑或者难以区分。不过由上面的Activity的运作流程可以看出每一个流程中几乎都存在onResume,而且是在onStart之后,所以有时候将一些必要的操作放在onResume中比放在onRestart中要好。
分享到:
相关推荐
Android生命周期是指一个Activity、Service、BroadcastReceiver或ContentProvider从创建到销毁的过程。每个组件都有其特定的生命周期方法,开发者需要根据这些方法来编写代码,确保应用程序能够正确响应系统事件,如...
#### Activity生命周期详解 ##### 1. 资源分配阶段(Create/Destroy) **Create**:当一个新的`Activity`被创建时,系统首先调用`onCreate()`方法。在这个阶段,`Activity`会初始化其成员变量并设置布局。这是执行...
你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除。 Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受所在的...
Activity生命周期 基础的生命周期方法这里就不做解释了,大家刚开始接触时就是这些方法了。 一些有意思的问题 onStart 和 onResume,onPuse 和 onStop有什么实质的不同吗? 实际使用来说,他们看起来的确差不多,...
5. **销毁(Destroyed)**:当系统需要回收资源或者应用自身调用finish()方法时,onDestroy()会被调用,至此Activity生命周期结束。 在安卓中,应用程序并不总是通过明确的“退出”操作来终止。通常,用户可以通过...
6. **Activity的生命周期管理**:Activity是Android应用程序的基本单元,每个Activity都有自己的生命周期,从创建到销毁经历了一系列的状态变化。当Activity被启动时,系统会根据Intent的属性值决定是复用已有的Task...
AndroidLifecycle 是 Android 系统中一个重要的组件,它主要解决了业务和 Activity/Fragment 生命周期相关的问题。在 Android 开发中,我们经常需要在 Activity 或 Fragment 的生命周期中执行特定的操作,例如在 ...
3. **Activity生命周期**:Activity是用户界面的主要组成部分,它的生命周期包括了创建、启动、暂停、恢复和销毁等状态。理解这些状态的变化对于编写响应灵敏的应用至关重要。 4. **Intent**:Intent是Android中的...
2. **Activity生命周期**:理解Activity的生命周期是开发过程中非常重要的部分。从创建到销毁,Activity经历了一系列状态转换。 - `onCreate()`: 创建Activity时调用。 - `onStart()`: Activity变得可见时调用。 ...
而在对等关系中,两个Activity独立运行,不关心对方的生命周期,此时使用`startActivity()`启动即可。 创建Intent主要有两种方式。一种是精确匹配,当要启动的Activity是自己定义的,可以直接指定类名,如`new ...
1. 了解对象生命周期:理解不同类型的对象何时创建、何时销毁,避免在长生命周期的对象中持有短生命周期对象的引用。 2. 使用工具检测:利用Android Studio的Memory Profiler等工具,可以实时监控应用程序的内存使用...
- 注意内存泄漏问题,避免Activity和WebView的生命周期管理不当导致内存泄露。 总之,Android的WebView组件提供了一种强大的方式,让应用能够集成网页内容,实现与网页的交互。但同时,也需要注意权限管理、性能...
2. **生命周期管理**:在Android中,需要妥善处理Presenter与View的生命周期,确保在Activity或Fragment重建时恢复状态。 总结,Android MVP模式是一种强大的设计模式,能够帮助开发者构建结构化、可测试和可扩展的...
本文将深入探讨FragmentTransaction的使用,以及它与Fragment生命周期之间的关系。 首先,FragmentTransaction是FragmentManager类的一个实例,用于管理Activity中的Fragment操作。在对Fragment进行添加、移除、...
当具备了一定的基础之后,开发者可以进一步深化对Android框架的理解,包括但不限于Activity生命周期管理、数据存储方式(如SQLite数据库)、网络通信技术(如HTTP请求处理)等。同时,对于希望向更高层次发展的技术...
4. Activity或Fragment:实现了View接口,作为实际的视图展示,并实例化Presenter,处理生命周期相关事件。 在实际开发中,MVP模式有以下优势: - 提高代码可读性:Presenter将复杂的逻辑集中管理,使得代码结构更...
本文力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态的使用Fragment,Fragment回退栈,Fragment事务;以及Fragment的一些特殊用途,例如:没有布局的Fragment有何用处?Fragment...