Android应用程序有一个特殊的概念:应用程序的生命周期。这个问题,大部分人都会轻视,然后等在这里跌倒了,才会回头看看,我就是这样的一个人。但亡羊补牢,犹未晚矣!
下面的这部分讲的很简单,但是请注意千万记住了。应用程序的生命周期严重的影响了系统资源以及提高用户体验直观重要。
1:Activity栈:
Android系统中,所有的Activity被保存在Activity栈中。当启动一个新的Activity时,那么这个Activity就会被压入Activity栈顶部。
如果用户通过“返回”键回到上面一个Activity的画面。那么栈顶的Activity就会被弹出。之前位于栈顶的第二个Activity就变成新的栈顶Activity.并显示在屏幕上。
一点补充:当按了Return后,就会调用OnPause().OnStop(),OnDestroy().你如果是按Home,就不会执行OnDestroy。
2:Activity的状态:活跃;暂停;结束;销毁或为启动;
活跃:当一个Activity位于Activity栈顶部。
暂停:可见,但是没有焦点。
结束:当Activity所显示的用户界面在屏幕上不可见。
销毁或未启动:当Activity彻底借宿或者关闭后。它的状态就变成非活跃状态。这时,Activity已经从Activity栈中移除。
补充:当我们按“返回”时,会依次变成:暂停,停止,销毁。
当我们按“Home”时,依次暂停,停止。
3:下面我们做一个ActivityLifeDemo来测试,利用Logcat 来打印。
Logcat的使用很简单。Logcat.i("Rocky","OnCreate");
利用adb shell 工具查看。如果是上面的格式,则在adb shell里面输入:
logcat -s Rocky I
即可查看我们的打印信息。
重写Activity的一下代码段:
OnCreate();
OnResume();
OnStart();
OnRestart();
OnPuase();
OnStop();
OnDestroy();
下面,我们进行一下操作看看它的打印信息:
第一次打开Activity:OnCreate ,OnStart,OnResume
按返回键: OnPause,OnStop,OnDestroy
重新打开Activity: OnCreate ,OnStart,OnResume
按Home键:OnPause,OnStop
此时Activity不可见了。通过再次打开Activity:
OnRestart,OnStart,OnResume
这个打印信息提醒我们,不要在OnCreate里面做一初始化的动作。有些动作应该放在OnStart(),OnResume里面。他们对于的是OnPuase,OnStop函数。
这个时候,我们再点击返回键:会出现OnPause,OnStop,OnDestroy.
以上的这些东西是我们通过实际测试数据得到的。
4:Activity完整的生命周期:
通过上面可以看见,在Activity按Home键的时候,程序不见了,但是生命周期没有完。
所以完整的程序的生命周期是:
从OnCreate创建Activity到OnDestroy回收Activity的过程。
5:可见的Activity的生命周期:
什么周期的过程中,有些时候我们是看不见的。这个时候要注意了,程序没有被关闭。所以你需要注意。本人就是因为这个错误,才写了这篇日记来记录自己的错误。
可见:OnStart 到OnStop之间。
有焦点:OnResume 到OnPause之间。
在OnStop方法中,我们应当暂停或者结束动画,线程,定时器服务等这些用来更新用户界面的资源。Activity变成Invisible时,这些资源的更新没有任何意思反而会增加系统消耗。
正确的方法是当UI变的可见之后,调用OnStart或者OnRestart方法继续或者重启Activity的这些资源。
OnStart()和OnStop也被用于注册、取消注册BroadcastReceiver.
6:OnSaveInstanceState()是为了保持用户的界面信息到Bundle中。会在OnPause之前调用。这样下次Activity变得活跃的时候呈现和上次一样的用户界面。
7:这篇文件的内容我也迷迷糊糊的看过很多次,但是碰见问题还是了犯了错误。唯有自己亲自动手试试,才能是自己的。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dadahacker/archive/2010/07/21/5753453.aspx
分享到:
相关推荐
Android之Activity生命周期,适合新手学习,全面而详细的介绍了Activity的生命周期。
本示例项目“Android activity生命周期示例”旨在帮助开发者深入理解Activity的生命周期及其各个阶段,这对于优化用户体验和资源管理至关重要。 Activity的生命周期包括以下几个主要状态: 1. **创建(Created)**...
总之,深入理解Activity生命周期和其背后的源码逻辑,对于编写高效、响应迅速且用户体验优秀的Android应用至关重要。开发者应熟练掌握这些知识点,以便在设计和调试应用时能得心应手。通过实践和分析ActivityDemo,...
Android Activity 生命周期 Android Activity 生命周期是指 Activity 从创建到销毁的整个过程,该过程中会经历多个状态变化,每个状态变化都会触发相应的回调方法。理解 Activity 生命周期是 Android 开发的基础。 ...
Android Studio提供了多种工具帮助开发者调试Activity生命周期。例如: 1. **Android Profiler**:可以实时监控Activity的生命周期状态变化,同时分析内存、CPU和网络使用情况。 2. **Logcat**:通过打印日志,可以...
有助于深入了解Android Activity生命周期的测试代码,可以结合博客http://blog.csdn.net/freetangxiaoying/article/details/17167819领悟。
### 一、Android Activity生命周期介绍 #### 1. onCreate() 当Activity首次创建时被调用,这是初始化Activity的最佳时机。在该方法中通常会执行一些初始化操作,比如设置布局文件、初始化UI组件等。 示例: ``` @...
日志追踪(完成以下六步、明白android的四种状态的生命周期和相互切换): 1、启动app、查看控制台输出,发现依次触发onCreate、onStart、onResume这三个方法 2、点击按钮(弹窗风格的Activity),控制台输出onPause...
**Activity生命周期** Activity的生命周期包括了从创建到销毁的各个阶段,主要有以下7个关键状态: 1. **创建(Created)**:当Activity首次被创建时,会调用`onCreate()`方法。在这里,通常进行初始化工作,如...
在Android开发中,理解Activity的生命周期对于管理应用的状态和资源至关重要。Activity是构成Android应用程序的主要构建块之一,它负责提供用户界面并处理与用户交互相关的事件。Activity的生命周期由一系列回调方法...
Android Activity生命周期演示源码,从第一个Activity到第二个Activity,Android Activity形象的说就是一个容器,在里面放置各种控件(按钮,文本,复选框等),就形成了软件的界面~ Activity是可见的。
Activity生命周期是Android开发中至关重要的一环,因为它决定了应用如何响应用户操作和系统事件。理解Activity的生命周期对于编写高效、稳定且用户体验良好的应用至关重要。 Activity的生命周期由多个关键状态组成...
android下activity生命周期 生命周期: 回调 描述 onCreate() 这是第一个回调,在活动第一次创建是调用 onStart() 这个回调在活动为用户可见时被调用 onResume() 这个回调在应用程序与用户开始可交互的时候调用 ...
在ExmActLife这个文件中,很可能包含了不同生命周期方法的示例代码,以及模拟不同启动模式的实验,通过这些实践,开发者可以更好地理解和掌握Activity生命周期的控制,从而优化应用性能和用户体验。实践中,我们应...
实验一 第一个Android程序和Activity生命周期。实验要求: 1.用工程向导生成第一个Android程序,并在模拟器上运行 注意在新建应用的选择SDK版本时选API 18 2.熟悉Android应用程序的基本文件结构 3.了解使用开发环境...
本示例“测试Android Activity生命周期Demo”旨在通过实际代码帮助开发者理解并掌握Activity的生命周期,这对于创建稳定、高效的Android应用至关重要。 Activity的生命周期包括了多个关键状态,如初始化、启动、...
这是Activity生命周期的第一个回调,通常在这里进行布局加载、初始化变量和设置基本UI等操作。 2. **可见态(Started)**: `onStart()`方法标志着Activity变得对用户可见,但还没有占据屏幕的焦点。此时,Activity...
### Android 中从Activity1跳转到Activity2再回到Activity1所经历的生命周期 在Android开发过程中,理解Activity的生命周期对于管理界面状态、处理用户交互以及响应系统事件至关重要。本文将详细解析从一个Activity...
这些状态之间的转换是Activity生命周期的核心内容。 1. **创建(Created)**: 当Activity首次被创建时,会调用`onCreate()`方法。在这个阶段,开发者应初始化Activity的基本元素,如设置布局、数据绑定等。 2. **...