安卓Activty生命周期第一课
黑马程序员安卓教程:Activity生命周期之onStart和onStop
Activity生命周期之onStart和onStop在“Activity生命周期之创建和销毁”中我们讨论了Activity生命周期的onCreate和onDestroy,这两个函数分别对应了Android Activity生命周期的始和终。
在Android生命周期的过程中还有一些其他的过程,例如onStart和onStop。
下面我们将对这两个过程进行相关的介绍。
1.生命周期的开始新建工程“06_activity生命周期”的主Activity中,重写了onStart()方法,代码如例1-1所示:例1-1对图1-1所示从图1-1可知:该方法会在以下情况被调用,第一:当Activity调用了onCreate之后会执行该方法来展示Activity页面;第二:当Activity调用了OnRestart来启动一个被Stopped掉的但没有被destroyed掉的Activity时,该方法也会被调用来重新展示这个Activity页面。
清空logcat,运行程序,此时logcat打印如图1-2所示的信息:图1-2所示从图1-2可知:onCreate方法调用之后便会调用onStart方法。
事实上:onStart方法的调用代表这个Activity页面被显示屏幕上,用户是可见的。
当这个Activity页面不能被用户所见,此时又会调用什么方法呢?2.生命周期的停止停止状态(Stopped):Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡,但它依然保持所有状态和成员信息,只是它不再可见,它的窗口被隐藏;在“06_activity生命周期”的主Activity中,重写了onStop()方法,代码如例1-2所示:例1-2图1-3所示此时,logcat打印信息过程图如下1-4:点击HOME键图1-4所示从图1-4可知:当在点击HOME按键时,系统返回到手机的主页面,此时运行的Activity并没有被destroy 掉,只是被隐藏,不可见而已。
Activity的生命周期
Activity生命周期 Activity生命周期
Activity是Android中一个非常重要的一个组件。那么 是 中一个非常重要的一个组件。 中一个非常重要的一个组件 Activity这个类在 这个类在Android中究竟扮演什么角色,该类中究竟定义 中究竟扮演什么角色, 这个类在 中究竟扮演什么角色 了什么方法,这些方法都有什么功用呢? 了什么方法,这些方法都有什么功用呢? 另外,一个 类似于一个窗口, 另外,一个Activity类似于一个窗口,当有另一个窗口启动 类似于一个窗口 时候,会把原来的Activity覆盖掉,那么原来的 覆盖掉, 时候,会把原来的 覆盖掉 那么原来的Activity处于什么 处于什么 状态呢?在本章我们就会一起探讨Activity的作用以及 的作用以及Activity的 状态呢?在本章我们就会一起探讨 的作用以及 的 方法以及Activity的生命周期。 的生命周期。 方法以及 的生命周期
案例演示
本章目标
• • • •
什么是Activity 什么是Activity Activity的生命周期 Activity的生命周期 事件处理方式 Android键盘事件和触摸事件 Android键盘事件和触摸事件
预习检查
提问
• 表示Activity生命周期的方法有哪几个 表示Activity生命周期的方法有哪几个
事件编码处理方式
• 四种编码方式
public class MainActivity extends Activity implements btn1.setOnClickListener(btnList1); <Button android:text="Button01" android:id="@+id/Button01" OnClickListener { Button btn1=(Button)findViewById(R.id.Button03); private OnClickListener btnList1=new android:layout_width="wrap_content" OnClickListener() { @Override //进行事件处理 @Override 进行事件处理 android:layout_height="wrap_content" public void onCreate(Bundle btn1.setOnClickListener(new savedInstanceState) public void onClick(View v) { OnClickListener() { { android:onClick=”btn1Click”></Button> //dosomething ….. ..... @Override Button btn1Click(View { } public void onClick(View v)view){ public void btn1=(Button)findViewById(R.id.Button01); ( ) //进行事件处理 //do something }; …… 进行事件处理 btn1.setOnClickListener(this); } } } }); @Override public void onClick(View v) { switch(v.getId()){ case R.id.Button01: //dosomething break; ......
【推荐下载】android 中activity的启动模式是singleTask时清除activity的栈顶activity的生命周期小计
StandThreeActivity.onPause()
BaseActivity.onResume()
StandThreeActivity.onStop()
onDestory()
总的来讲,如果一个Activity的启动模式是SinleTask,在销毁栈内的其他
Activity时是从其栈顶的底部开始一个一个的销毁,直到栈顶的activity走
android中activity的启动模式是singleTask时清除activity的栈顶
activity的生命周期小计
2017/06/190安卓开发中经常会涉及到activity启动模式,当一个activity第
singleTASK时,清除栈顶的activity的时候,位于栈顶的activity的生命周期是如
onPause(),然后启动SingleTask的Activity,最后才销毁栈顶的Activity,走onStop
及onDestaory
tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
StandThreeActivity
生命周期如下:
BaseActivity.onCreate()
onStart()
onResume()
onPuase()
StandOneActivity.onCreate()
onStart()
onResume()
onPause()
StandTwoActivity.onCreate()
何走完的呢?这里做一个小计:
BaseActivity的启动模式是singleTask模式
StandOneActivity
StandTwoActivity
activity共23页PPT资料
什么是Activity
Activity是构建Android应用程序最基本的一种组件。在应用中, 一个Activity通常就是一个单独的屏幕。每一个activity都被实现为一个 独立的类,并且继承于Activity这个基类,其主要的功用是与用户进行交 互。
Activity生命周期
点击模拟器的返回键 日志如下:
Activity生命周期
生命周期七个方法阐释:
onCreate() 创建Activity时候调用。同时还以Bundle形式
提供存储以前任何状态的访问
onRestart() 重新启动Activity调用,该Activity在堆栈中,
Activity生命周期
通常一个Activity基本处于以下四种状态中的一种 当Activity在屏幕前台运行时(该Activity位于堆栈
的顶部),此时成为活动状态或者为运行状态。
当Activity已经失去焦点,但仍然可见,此时该 Activity处于暂停状态
当一个Activity跳转到另一个Activity,即一个新 Activity覆盖了原来的Activity,此时原Activity处于 停止状态。
当一个Activity处于暂停状态或者停止状态的时候, 系统可以根据需要是否销毁该Activity。
Activity生命周期
Activity生命周期
1. Activity的整个生命周期从onCreate方法开始, 到最终调用onDestroy方法结束。所以对于该 Activity中的全局的资源在onCreate方法中设置, 而最终在onDestroy方法中进行资源的回收。
Activity的生命周期
Activity的生命周期好好理解Activity的生命周期是非常重要的。
可以确保你的应用程序给用户提供一个完美的用户体验并适当的管理资源。
和前面介绍Application一样,Application不能自己控制自己的进程生命周期,Android系统运行时会管理每一个应用程序的进程,包括在应用程序里面的所有Activity。
当运行时需要终止并管理一个Activity的进程,这个Activity的状态会决定它所在的父应用程序的优先级。
接着,应用程序的优先级也会影响运行时,可能会终止该应用程序。
Activity 栈每一个Activity的状态会决定它在Activity栈中的位置,按照先进后出的方式组织现在所运行的所有的Activity,当一个新Activity启动时,当前位于前台的屏幕的将会移动到栈顶,如果用户点击了退后按钮,或者这个前台的Activity关闭了,栈中的下一个Activity会移动上来,并且处于活动状态,下图说明了这个过程:根据前面的说明,应用程序的优先级取决于它包含的最高优先级的Activity,当Android的内存管理决定终止哪一个Application以释放资源,也是使用这个栈决定建立在这些Activity上面的应用程序的优先级。
Activity 状态一个Activity从建立到销毁也就是移入到移出栈,这个过程通常可能包含以下四个状态:1、Active 获得状态,当一个Activity位于栈顶并显示在前台,等待获得用户输入命令,Android系统会尝试付出所有可能的资源保证它的运行,必要时会杀死一些在栈中位于比较靠后的一些Activity,以确保它需要的资源,当另外一个Activity变成Active状态,那么这个将会进入暂停状态。
2、Paused 暂停状态,有些情况下,你的应用程序会可见,但是不是获得用户输入的焦点,这种情况就是进入了暂停状态,出现这种状态也是是有一个半透明的或者不是全屏的Activity在它前面处于获得状态,当进入暂停状态,它会和处于获得状态一样对待,只是它不能获得用户的输入而已。
activity生命周期有几种状态
activity生命周期有几种状态
Activity生命周期有五种状态,分别是:
1.启动状态:当Activity启动后,会进入此状态,但此状态很短暂,会很快进入运行状态。
2.运行状态:Activity处于屏幕的最前端,它是可见的、有焦点的,并可以与用户进行交互,如单击、长按等事件。
此时,Activity 处于活动或运行状态。
3.暂停状态:在某些情况下,如Activity上覆盖了一个透明或非全屏的Activity,被覆盖的Activity仍然对用户可见,但无法获取焦点,此时它处于暂停状态。
暂停的Activity仍然是存活状态,保留着所有的状态和成员信息,并保持和窗口管理器的连接,但当系统内存不足时,它可能会被系统杀死。
4.停止状态:当Activity完全不可见时,如被另一个Activity 遮挡,它就处于停止状态。
此时,Activity仍然保留着当前的状态和成员信息,但由于对用户不可见,如果系统内存不足,这个Activity 很容易被系统杀死。
5.销毁状态:当Activity处于销毁状态时,意味着它将被清理出内存。
请注意,Activity生命周期指的是一个Activity从创建到销毁的全过程,包括上述的五种状态。
在Android开发中,理解和掌握Activity的生命周期对于内存管理和用户体验都至关重要。
Activity生命周期相关的7个方法
Activity⽣命周期相关的7个⽅法先发⼀张官⽅的Activity⽣命周期图解onCreate():当activity是被创建时候,会⾃动运⾏该⽅法。
该⽅法做⼀些初始化动作,⽐如创建views,设置数据到list等等,该⽅法提供了⼀个Bundle类型的变量,该变量中有这个activity以前的状态信息,前提是以前存过这些信息。
这个⽅法执⾏完后执⾏的是onStart()⽅法;若在onCreate⽅法中加⼊finish()⽅法,onCreate下⼀个运⾏onDestroy⽅法onRestart():把activity从onStop状态唤醒时,会⽤onRestart⽅法,该⽅法优先于再次运⾏的onStart,运⾏完onRestart之后运⾏onStart。
若在onRestart()⽅法中加⼊finish()语句,则还是会继续运⾏onStart及后⾯的状态⽅法直到onDestroy运⾏完onStart():当activity对⽤户可见时会调⽤onStart,当activity在前台显⽰时,会运⾏onResume;当activity还没在前台显⽰就被隐藏(停⽌状态)了会运⾏onStop(),⽐如在onStart⽅法中⽤了finish()⽅法的话,onStart()之后就会直接运⾏onStop->onDestroy。
onResume():当activity开始与⽤户交互时,会调⽤onResume,并且为了⽤户操作此时该activity位于activity栈的顶部。
经过某些操作后该⽅法执⾏完后执⾏的是onPause()onPause():当⼀个activity运⾏到onResume⽅法后,不管是这个activity要销毁还是要暂停或停⽌,都会调⽤该⽅法。
这个⽅法之后有可能是onResume 也有可能是onStop,若是在这个activity-A中打开⼀个不完全覆盖这个activity-A的新activity-B,那么activity-A就会是onPause状态,当activity-B退出时,activity-A就直接运⾏onResume(前提是onPause的⽅法执⾏完了,否则会等onPause⽅法执⾏完后才运⾏onResume⽅法,所以不建议在这个⽅法中执⾏CPU密集的操作)。
Activity的生命周期及回调方法
Android上机实验报告课程名称:Android 应用开发技术教师姓名:江有福日期:09.23 学号:150607131 学生姓名:班级:Z15计算机院系:数理与信息学院图1 第一个Activity的运行结果图2 第二个Activity的运行结果2.5、范例2:实现应用对话框主题的关于Activity在Eclipse中创建Android项目,实现应用对话框主题的关于Activity。
范例1:实现根据身高计算标准体重在Eclipse中创建Android项目,实现根据输入的性别和身高计算标准体重。
图1 输入性别和身高界面图2 显示计算结果界面范例2:带选择头像的用户注册在Eclipse中创建Android项目,实现带选择头像的用户注册页面,打开新的Activity选择头像,并将选择的头像返回到原Activity中。
9.创建Fragment要创建一个Fragment,必须创建一个Fragment的子类,或者继承自另一个已经存在的Fragment的子类。
例如,要创建一个名称为NewsFragment,并重写onCreateView()方法,可以使用下面的代码。
public class NewsFragment extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// 从布局文件news.xml 加载一个布局文件View v = inflater.inflate(yout.news, container, true);return v;}}Fragment比较强大的功能之一就是可以合并两个Activity,从而让这两个Activity在一个屏幕上显示,例如下图所示(参照Android官方文档),左边的两个图分别代表两个Activity,右边的这个图表示包括两个Fragment的Activity,其中第一个Fragment的内容是Activity A,第二个Fragment的内容是Activity B。
Activity的生命周期
执行状态---->暂停状态:
当一个activity实例处于暂停状态的时候,这时候会触发onPause()状态
暂停状态---->执行状态:
这时候会触发onResume()
执行状态---->停止状态:
当一个新的activity打开之后会覆盖掉原来的activity,这时原来的activity处于停止状体,这是会调用onPause()和onStop()方法
声明:这两个方法只会在activity对象被系统自动回收的情况下才会调用,但是如果是按BACK键将一个Activity对象销毁系统是不会调用
这两个方法的。
方法之前】。他会将以名称-值对方式记录了activity动作状态的Bundle对象传递给onSaveInstanceState()方法。当activity再次启动
时,这个Bundle会传递给onCreate()方法和随着onSart()方法调用的onRestoreInstanceState(),所以他们两个都可以恢复捕获的状态。
对于onSaveInstanceState()和onRestoreInstanceState()方法知识的补充:
当系统而不是用户自己出于回收内存的考虑,关闭了一个activity之后。用户会期望当他再次回到那个activity的时候,它仍保持着
上次离开时的样子。为了获取activity被杀死前的状态,那么应该在android系统回收activity被回收之前调用该方法【最好是在onPause
void onStart()
void onRestart()
void onResume()
void onPause()
Android中的Activity生命周期
Android中的Activity生命周期摘要:activity是android应用中最重要最常用的应用组件之一,一直都是android应用开发的一个重要组成部分。
对activity生命周期进行介绍的论文也有很多,但大多都只停留在对其基本状态和周期函数进行简单的初步的介绍,给读者一种“不识庐山真面目,只缘身在此山中”的感觉。
该文从全局出发通过一个简单的例子,系统而全面的介绍了activity的生命周期。
使读者能够清晰的理解activity的生命周期和android程序运行时各个方法的功能以及何时调用。
关键词:android;activity;生命周期中图分类号:tn87 文献标识码:a 文章编号:1009-3044(2013)11-2713-03android的基本组件包括activity、service、broadcastreceive 和contentprovider等,activity是应用程序的表示层。
应用程序中的每个显示都是通过继承和扩展基类activity来实现的。
activity利用view来实现应用程序的图形用户界面(graphical user interface简称gui),手机用户则直接通过gui和应用程序做交互,如应用程序通过gui向用户显示信息,用户通过gui向应用程序发出指令和响应[1]。
1 android应用程序的组成android是google开发的基于linux平台的开源移动操作系统。
从架构上看,分为应用程序层、应用程序框架层、android本地库及运行环境和linux内核层。
一个通过android框架所创建的android应用程序[2],有四种基本框架:1)activity:android应用的最主要组成部分,作为应用程序的界面框架,负责动态的加载各种用户界面视图,实现底层消息的传递等。
2) service:运行在android应用后台的一种组件,有两种最基本的功能,一是执行长时间运行的耗时操作,如音乐播放、网络下载等。
android lifecycle原理
android lifecycle原理Android是一款广泛使用的移动操作系统,有着完整的生命周期管理机制。
它的生命周期是指从Activity或Fragment被创建到销毁整个生命周期的过程,在这个过程中,系统对应用程序的状态进行跟踪,让我们来深入了解一下Android生命周期的原理。
1. 什么是Android生命周期?Android生命周期是指Android应用通过组件(Activity、Service、Broadcast Receiver和Content Provider)的生命周期而度过的过程。
在此过程中,组件会在不同的阶段执行不同的任务,包括创建和销毁,换句话说,Android生命周期是指从组件被创建到销毁整个生命周期的过程。
2. Android生命周期包括哪些方法?每个活动都有一些关键的阶段,可以通过特定的生命周期回调方法来跟踪这些阶段。
以下是一些Android生命周期方法的列表。
• onCreate():在Activity或Fragment被创建时调用。
• onStart():在Activity或Fragment变为可见状态时调用。
• onResume():在Activity或Fragment开始与用户进行交互时调用。
• onPause():当Activity或Fragment从前台转到后台或被覆盖时调用。
• onStop():在Activity或Fragment被停止时调用。
• onDestroy():在Activity或Fragment被销毁时调用。
3. Android生命周期的作用是什么?Android生命周期的作用是跟踪组件的状态,确保应用程序与用户的交互按预期工作。
当应用程序运行时,它可能会遇到各种各样的情况,例如屏幕旋转、用户按下返回键等。
每当发现这样的情况时,应用程序必须能够跟踪当前的状态以确保正确响应。
4. Android生命周期如何影响应用程序的性能?在应用程序开发中,正确处理各种状态转换非常重要,因为错误的处理可能导致应用程序崩溃、内存泄漏、重复操作等问题。
android面试题及答案
android面试题及答案一、Activity 生命周期相关1. 请简述Activity的生命周期,并解释每个状态的含义。
- Activity生命周期主要包括 onCreate(), onStart(), onResume(), onPause(), onStop(), 和 onDestroy() 方法。
onCreate() 在Activity第一次创建时调用,用于初始化界面和数据。
onStart() 当Activity对用户可见时调用,表示Activity已经部分准备好与用户交互。
onResume() 当Activity准备与用户交互时调用,此时Activity处于前台。
onPause() 当Activity失去焦点,但未完全退出时调用,用于保存数据和清理资源。
onStop() 当Activity完全不再显示在屏幕上时调用,释放资源。
onDestroy() 当Activity被系统销毁时调用,用于做最后的清理工作。
2. Activity A跳转到Activity B,再按返回键,生命周期如何调用? - 当从Activity A跳转到Activity B时,Activity A的onPause()会被调用,然后是onStop(),而Activity B会依次调用onCreate(),onStart(),onResume()。
按返回键从Activity B返回到Activity A时,Activity B会依次调用onPause()和onStop(),Activity A则会依次调用onRestart(), onStart()和onResume()。
二、Intent 相关1. 请解释Intent的基本作用及其使用场景。
- Intent是Android中用于组件间通信的一种机制,它可以用于启动Activity,Service,发送广播等。
常见的使用场景包括从一个Activity启动另一个Activity,或者向Service发送数据。
简述Activity生命周期
简述Activity⽣命周期copy from :基于Android 6.0的源码剖析,分析android Activity启动流程中ActivityManagerService所扮演的⾓⾊⼀、概述上⼀篇⽂章,介绍了startActivity是如何⼀步步创建的,再来看看⽣命周期的控制。
先来⼀张官⽅的Activity状态转换图:Activity的⽣命周期中只有在以下3种状态之⼀,才能较长时间内保持状态不变。
Resumed(运⾏状态):Activity处于前台,且⽤户可以与其交互。
Paused(暂停状态): Activity被在前台中处于半透明状态或者未覆盖全屏的其他Activity部分遮挡。
暂停的Activity不会接收⽤户输⼊,也⽆法执⾏任何代码。
Stopped(停⽌状态):Activity被完全隐藏,且对⽤户不可见;被视为后台Activity。
停⽌的Activity实例及其诸如成员变量等所有状态信息将保留,但它⽆法执⾏任何代码。
除此之外,其他状态都是过渡状态(或称为暂时状态),⽐如onCreate(),onStart()后很快就会调⽤onResume()⽅法。
⼆. ⽣命周期2.1 进程间通信对于App来说,其Activity的⽣命周期执⾏是与系统进程中的ActivityManagerService有⼀定关系的,接下来从进程和线程的⾓度来分析Activity的⽣命周期,这⾥涉及到系统进程和应⽤进程:system_server进程是系统进程,Java framework框架的核⼼载体,⾥⾯运⾏了⼤量的系统服务,⽐如这⾥提供ApplicationThreadProxy(简称ATP),ActivityManagerService(简称AMS),这个两个服务都运⾏在system_server进程的不同线程中,由于ATP和AMS都是基于IBinder接⼝,都是binder线程,binder线程的创建与销毁都是由binder驱动来决定的。
Android之FrameWork的面试题
Android之FrameWork的⾯试题1 Activity的⽣命周期和启动模式1.1 Activity的⽣命周期全⾯分析⽤户正常使⽤情况下的⽣命周期 & 由于Activity被系统回收或者设备配置改变导致Activity被销毁重建情况下的⽣命周期。
1.1.1 典型情况下的⽣命周期分析Activity的⽣命周期和启动模式1. Activity第⼀次启动:onCreate->onStart->onResume。
2. Activity切换到后台(⽤户打开新的Activity或者切换到桌⾯),onPause->onStop(如果新Activity采⽤了透明主题,则当前Activity不会回调onstop)。
3. Activity从后台到前台,重新可见,onRestart->onStart->onResume。
4. ⽤户退出Activity,onPause->onStop->onDestroy。
5. onStart开始到onStop之前,Activity可见。
onResume到onPause之前,Activity可以接受⽤户交互。
6. 在新Activity启动之前,栈顶的Activity需要先onPause后,新Activity才能启动。
所以不能在onPause执⾏耗时操作。
7. onstop中也不可以太耗时,资源回收和释放可以放在onDestroy中。
1.1.2 异常情况下的⽣命周期分析1 系统配置变化导致Activity销毁重建例如Activity处于竖屏状态,如果突然旋转屏幕,由于系统配置发⽣了改变,Activity就会被销毁并重新创建。
在异常情况下系统会在onStop之前调⽤onSaveInstanceState来保存状态。
Activity重新创建后,会在onStart之后调⽤onRestoreInstanceState来恢复之前保存的数据。
保存数据的流程: Activity被意外终⽌,调⽤onSaveIntanceState保存数据-> Activity委托Window,Window委托它上⾯的顶级容器⼀个ViewGroup(可能是DecorView)。
Android学习总结(一)——Activity的基本概念与Activity的生命周期
Android学习总结(⼀)——Activity的基本概念与Activity的⽣命周期⼀、Activity的基本概念 Activity是Android的四⼤组件之⼀,它是⼀种可以包含⽤户界⾯的组件,主要⽤于和⽤户进⾏交互,⽐如打电话,照相,发送邮件,或者显⽰⼀个地图!Activity⽤于显⽰⽤户界⾯,⽤户通过Activity交互完成相关操作,⼀个App允许有多个Activity。
⼆、Activity的⽣命周期 Activity⽣命周期是每⼀个Android开发者都必须掌握的,当我们深⼊理解活动的⽣命周期之后,就可以写出更加连贯流畅的程序,让我们的程序拥有更好的⽤户体验2.1、Activity的⽣命周期图2.2、Activity的四种状态 每个Activity在其⽣命周期中最多可能会有四种状态。
1.运⾏状态 当⼀个Activity位于返回栈(关于返回栈的概念下⾯再介绍)的栈顶时,这时Activity就处于运⾏状态,系统会将处于栈顶的Activity显⽰给⽤户。
2.暂停状态 当⼀个Activity不再处于栈顶位置,但仍然可见,这时Activity就进⼊了暂停状态。
初学者可能会有这样的疑问,既然Activity都已经不在栈顶了,怎么会还可见呢,这是因为并不是每⼀个Activity都会占满整个屏幕的,⽐如对话框形式的Activity只会占⽤屏幕中间的部分区域。
3.停⽌状态 当⼀个Activity不再处于栈顶位置,并且完全不可见的时候,就进⼊了停⽌状态。
4.销毁状态 当⼀个Activity从返回栈中移除后就变成了销毁状态。
2.3、Android返回栈 Android是使⽤任务(Task)来管理Activity的,⼀个任务就是⼀组存放在栈⾥的Activity集合,这个栈被称作返回栈,栈(堆栈)是⼀种先进后出的数据结构,这⾥顺便提⼀下另⼀种常见的数据结构:队列,队列是⼀种先进先出的数据结构。
每当启动⼀个新的Activity时,它会被放⼊返回栈中,并处于栈顶的位置。
Activity的生命周期及各生命周期方法的作用
Activity的⽣命周期及各⽣命周期⽅法的作⽤⼀、Activity的⽣命周期中各个⽅法的作⽤ onCreate(): 做Activity上所需要数据的初始化⼯作。
onStart(): 显⽰Activity界⾯,此时⽤户对界⾯可见但不可交互。
onResume(): 此时⽤户可与应⽤进⾏交互,做你想做的事。
onPause(): 此时⽤户可见但不可交互的,或者说此时界⾯没有焦点,例如弹出⼀个对话框。
onstop(): 此时界⾯变得不可见,被下⼀个activity覆盖或者最⼩化了。
onDestroy(): 这是activity被⼲掉前最后⼀个被调⽤⽅法了。
⼆、调⽤⽣命周期⽅法的过程1.启动Activity时:onCreate()-->onStart()-->onResume() -->与⽤户交互2.onPause()-->onResume() onPause():此时可见不可交互,⼀般是跳出对话框之类的。
此时要在这⾥保存你的⼀些数据---短暂性的数据, 因为这个时候程序的优先级降低,有可能被系统收回。
返回的时候调⽤ onResume(),在 onResume()读取所 保存的数据。
注意:这个⽅法⾥做的事情时间要短,因为下⼀个activity():不会等到这个⽅法完成才启动3.onPause()-->onStop()-->onStart()-->onResume() 不可见到可见并交互 ⼀般是在Activity最⼩化或者被其他Activity覆盖的时候---此时Activity不可见,重新调⽤Activity的过程(这⾥指 Activity没有被系统⼲掉的情况); 另:如果此时该被覆盖的Activity被系统⼲掉了的话,⼀般都是重新启动Activity了,周期也就从头再来。
4.onPause()-->onStop()-->onDestroy() 这是Activity被⼲掉的过程。
实验一Android环境构建与Activity生命周期
实验一Android环境构建与Activity生命周期【目的】安装智能手机开发相关软件平台,并在此基础上测试Activity的生命周期过程。
【要求】1、完成智能手机开发平台安装、以及相关配置;2、并实现Hello World;3、添加Log日志,通过Log日志验证Activity生命周期中的7个方法执行过程;4、了解项目的基本文件目录结构,了解Activity周期中的4种状态。
【过程】(1)建立新项目,实现Hello World;1)打开Eclipse,选择File -> New -> Android Project.2)填写project name(helloword),然后选择选择build target(Android 2.1),填写Application name(helloword),Package name(your.helloword)完成创建。
3)运行结果如下图:(2)设置生命周期的Log日志,分别执行相关操作在hellowordActivity.java文件中依次添加回调函数,分别在各个方法中添加日志监视语句,复写函数。
添加代码如下:package your.helloword;import android.app.Activity;import android.os.Bundle;import android.util.Log;public class HellowordActivity extends Activity {/** Called when the activity is first created. */private static String TAG="helloword";//设置过滤关键字helloword@Override //完全生命周期开始时被调用,初始化activitypublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);Log.i(TAG,"(1) onCreate()");}@Override //可视生命周期开始时被调用,对用户界面进行必要的更改public void onStart() {super.onStart();Log.i(TAG,"(2) onStart()");}@Override //在活动生命周期开始时被调用,恢复被onPause()停止的用于界面更新的资源public void onResume() {super.onResume();Log.i(TAG,"(3) onResume()");}@Override //在重新进入可视生命周期前被调用,载入界面所需要的更改信息public void onRestart() {super. onRestart();Log.i(TAG,"(4) onRestart()");}@Override //在活动生命周期结束时被调用,用于保存持久的数据或释放占用的资源public void onPause() {super.onPause();Log.i(TAG,"(5) onPause()");}@Override //在可视生命周期结束时被调用,用于保存持久的数据或释放占用的资源public void onStop() {super.onStop();Log.i(TAG,"(6) onStop()");}@Override //在完全生命周期结束时被调用,释放资源,包括线程、数据连接等public void onDestroy() {super.onDestroy();Log.i(TAG,"(7) onDestroy()");}}程序运行结果将会显示在Logcat中,打开程序,在LogCat的输出日志中检查输出情况,执行顺序onCreate()、onStart()、onResume()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Activty生命周期
• 生命周期图
Activty生命周期
• 如何使用API查找Activty类 • E:\android-sdk-windows\docs\index.html
Activty生命周期
• Activty的几个方法
• public class Activity extends ApplicationContext { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onRestart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); }
Activty生命周期
• 启动第一个reate()1当 第一次被创建时调用, onStart()1当我们看到这个 Activty1,onResume ()1当我们获得用户焦点(即能操作时)。 • 当我们转向到第二个Activty2时会依次调用onPause()1当Activty2 启动时,onCreate()2, onStart()2,onResume ()2, onStop()1当 Activty1处于不可见的状态时会调用. • 当我们点击back按钮回到Activty1时会依次调用onPause()2 • , onRestart()1 ,onStart()1,onResume ()1, onStop()2 • onDestroy()2