Activity生命周期PPT课件_第1页
Activity生命周期PPT课件_第2页
Activity生命周期PPT课件_第3页
Activity生命周期PPT课件_第4页
Activity生命周期PPT课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、预习检查 Activity有哪几种基本状态? Activity状态之间的转换时调用哪些函数?第1页/共18页 掌握Activity的生命周期 掌握Activity各个回调函数的调用时机本章目标第2页/共18页Activity的生命周期 Activity是一个用户界面的概念。Activity通常表示应用程序的一个屏幕。 Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期。 第3页/共18页Activity有四种基本状态Active:处于屏幕前景(当前task的栈顶Activity处于Active状态),同一时刻只能有

2、一个Activity处于Active状态;简单地说,就是Activity取得了焦点。Paused状态:处于背景画面状态,失去了焦点,但依然是活动状态;例如:被一个Dialog(部分)覆盖。Stopped:不可见,但依然保持所有的状态和内存信息;例如:正在编辑短消息的时候,有电话拨入,电话的接听界面覆盖了整个屏幕。Killed: Activity 被系统杀死回收或者没有被启动时处于 Killed状态。第4页/共18页Activity的状态转换Activity被部分被部分遮盖,进入遮盖,进入Paused状态状态Activity被完全被完全遮盖,进入遮盖,进入Stopped状态状态第5页/共18页A

3、ctivity的状态转换 在 android.app.Activity类中,Android 定义了一系列与生命周期相关的方法,在我们自己的 Activity 中,只是根据需要复写需要的方法,Java 的多态性会保证我们自己的方法被虚拟机调用 void onCreate(Bundle savedInstanceState)void onStart()void onRestart()void onResume()void onPause()void onStop()void onDestroy()演示示例1:Activity中各种状态的切换第6页/共18页onCreate() 和onDestroy

4、()onCreate()方法是Activity开始时调用的方法,此方法在以下三种情况被调用当Activity首次启动时,将使用一个null参数调用onCreate()如果Activity已经运行,并在随后的某个时刻被结束,那么将使用来自onSavedInstanceState()的Bundle作为参数调用onCreate()如果Activity已经运行,并且已将Activity设置为根据不同的手机状态(例如横向和纵向)提供不同的资源,那么将重新创建Activity并调用onCreate()第7页/共18页onCreate() 和onDestroy()onDestroy()方法是Activity

5、关闭时调用的方法。一个Activity的整个生命周期是从第一次调用onCreate()方法和调用onDestroy()方法之间的这段时间第8页/共18页onStart()、 onRestart()和onStop()Activity在前台运行可能是因为他是首次启动,也可能是因为在被隐藏之后被调回前台,这些情况下都会调用onStart()方法在停止后重新启动Activity时,将调用onRestart()方法要停止Activity时,将调用onStop()方法在一组onStart()和onStop()方法之间的时间,被称为可见生命周期可见状态可见状态前台状态前台状态可见状态可见状态第9页/共18页

6、onResume()和onPause()在Activity初始启动、从停止状态重新启动后,或者清除了一个弹出对话框之后,在Activity回到前台之前将调用onResume()方法。相仿,使用户远离Activity的任何操作(通常是激活另一个Activity)都将导致onPause()被调用。以Android手机为例,按下Home键,会让手机回到主屏幕,这个时候现有的Activity就会调用onPause()。在一组onResume()和onPause()方法之间的时间,被称为前台生命周期。第10页/共18页Android的活动栈Android 是通过一种 Activity 栈的方式来管理 A

7、ctivity 的,一个 Activity 的实例的状态决定它在栈中的位置。处于前台的 Activity 总是在栈的顶端,当前台的 Activity 因为异常或其它原因被销毁时,处于栈第二层的 Activity 将被激活,上浮到栈顶。当新的 Activity 启动入栈时,原 Activity 会被压入到栈的第二层。一个 Activity 在栈中的位置变化反映了它在不同状态间的转换。第11页/共18页Android的活动栈除了最顶层即处在 Active 状态的 Activity 外,其它的 Activity 都有可能在系统内存不足时被回收,一个 Activity 的实例越是处在栈的底层,它被系统

8、回收的可能性越大。系统负责管理栈中 Activity 的实例,它根据 Activity 所处的状态来改变其在栈中的位置。 也就是说Android 程序的生命周期是由系统控制而非程序自身直接控制 。第12页/共18页Android系统的资源回收Android 程序的生命周期是由系统控制而非程序自身直接控制 。Android 程序的进程是重要性层次被系统结束,一个进程的重要性是根据其中运行的部件和部件的状态决定的各种进程按照重要性从高到低排列如下:前台进程可见进程服务进程后台进程空进程每次没座位了总是让我坐地板第13页/共18页小结1 Activity的生命周期 Activity各个回调函数的调用时机第14页/共18页编程练习 创建一个Activity,要求在每次系统调用onResume()时都添加一个TextView作为标记第15页/共18页编程练习:进一步思考 如何让系统调用onResume(),完

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论