智能移动平台应用开发: Android)应用程序生命周期 杨刚
智能移动平台应用开发: Android应用程序生命周期 杨刚
Android应用程序架构 ·一般情况Android应用程序是由以下四种组件 所组成的: ▣活动(Activity) o服务(Service) 口广播接收器(Broadcast Receiver) a内容提供器(Content Provider))
Android应用程序架构 n 一般情况Android应用程序是由以下四种组件 所组成的: q 活动(Activity) q 服务(Service) q 广播接收器(Broadcast Receiver) q 内容提供器(Content Provider)
Android应用程序架构 活动(Activity) o一般所指的活动(Activity)是用户界面。一个应用 程序可能有一个或以上的活动存在,每个活动也都 会有自己的View。 口所有的活动在系统里由活动堆栈所管理,当一个新 的活动被执行后,它将会被放置到堆栈的最顶端, 并且变成“running activity”,而先前的活动原则上 还是会存在于堆栈中,但它此时不会是在前景的情 况,除非新加入的活动离开
Android应用程序架构 • 活动(Activity) q 一般所指的活动(Activity)是用户界面。一个应用 程序可能有一个或以上的活动存在,每个活动也都 会有自己的View。 q 所有的活动在系统里由活动堆栈所管理,当一个新 的活动被执行后,它将会被放置到堆栈的最顶端, 并且变成“running activity”,而先前的活动原则上 还是会存在于堆栈中,但它此时不会是在前景的情 况,除非新加入的活动离开
Android,应用程序架构 a服务(Service) 口服务是在背景长时间运行的应用组件,不和用户直 接进行互动。 口例如:某服务可能在后台播放音乐,而用于在执行 其他的操作,或者它通过网络抓取资料或者执行某 些计算,将结果提供給活动(Activity)
Android应用程序架构 n 服务(Service) q 服务是在背景长时间运行的应用组件,不和用户直 接进行互动。 q 例如:某服务可能在后台播放音乐,而用于在执行 其他的操作,或者它通过网络抓取资料或者执行某 些计算,将结果提供給活动(Activity)
Android应用程序架构 ■广播接收器(Broadcast Receiver) 口广播接收器负责接受和响应通知,很多通知源自于系 统所发送的,例如:发送时区变换的通知,电池电量 不足,或用户改变语言设置。 口应用程序也可以发出广播通知,举例来说,通知其它 应用程序,数据已下载完毕,可供使用。 口应用程序可以拥有任意数量的广播接收器来接收任何 的通知。另外也可以启动活动(Activity)去响应接收 到的通知,或利用通知管理器(Notification Manager)) 来通知使用者
Android应用程序架构 n 广播接收器(Broadcast Receiver) q 广播接收器负责接受和响应通知,很多通知源自于系 统所发送的,例如:发送时区变换的通知,电池电量 不足,或用户改变语言设置。 q 应用程序也可以发出广播通知,举例来说,通知其它 应用程序,数据已下载完毕,可供使用。 q 应用程序可以拥有任意数量的广播接收器来接收任何 的通知。另外也可以启动活动(Activity)去响应接收 到的通知,或利用通知管理器(Notification Manager) 来通知使用者
Android应用程序架构 n内容提供者(Content Provider) 口内容提供者将应用程序数据组合成特定的集合供其它 应用程序使用。数据可以是储存在文件、SQLite数据 库,或是其它任何用户可以存取资料的地方。 口内容提供者继承於内容提供者基础类别,并实现一组 标准的方法,使应用程序可以检索和储存它控制的数 据。 口应用程序不是直接调用这些实现方法。而是通过内容 解析器(ContentResolver)对象调用方法。内容解析器 能够通知任何的内容提供者,并可以参与这些内容提 供者进程间的管理
Android应用程序架构 n 内容提供者(Content Provider) q 内容提供者将应用程序数据组合成特定的集合供其它 应用程序使用。数据可以是储存在文件、SQLite数据 库,或是其它任何用户可以存取资料的地方。 q 内容提供者继承於内容提供者基础类别,并实现一组 标准的方法,使应用程序可以检索和储存它控制的数 据。 q 应用程序不是直接调用这些实现方法。而是通过内容 解析器(ContentResolver)对象调用方法。内容解析器 能够通知任何的内容提供者,并可以参与这些内容提 供者进程间的管理
程序的生命周期(Life Cycle) ▣何谓生命周期? 口应用程序组件都具有生命周期: 口从Android产生回应一个Intent对象开始,到实际被 释放为止;
程序的生命周期(Life Cycle) n 何谓生命周期? q 应用程序组件都具有生命周期; q 从Android产生回应一个Intent对象开始,到实际被 释放为止;
程序的生命周期(Life Cycle) a一个Activity基本上有三个生命状态: active.或running(一个Activity在屏幕的最上层时, 也就是在系统堆栈中的最顶端) ▣Paused(一个Activity失去焦点(Focus),但还看得 到它的画面) a Stop(被其它的Activity完全遮蔽)
程序的生命周期(Life Cycle) n 一个Activity基本上有三个生命状态: q active或running(一个Activity在屏幕的最上层时, 也就是在系统堆栈中的最顶端) q Paused(一个Activity失去焦点(Focus),但还看得 到它的画面) q Stop(被其它的Activity完全遮蔽)
程序的生命周期(Life Cycle) ■ 当一个Activity处于Pause或Stop的状态时,系 统可以要求Activity结束或删除它,当它再度呈 现在使用者面前时,要能完整的重新启动及回 复先前的状态。 ·应用程序存在与否并非由应用程序所自行决定, 而是由Android系统通过运行机制决定
程序的生命周期(Life Cycle) n 当一个Activity处于Pause或Stop的状态时,系 统可以要求Activity结束或删除它,当它再度呈 现在使用者面前时,要能完整的重新启动及回 复先前的状态。 n 应用程序存在与否并非由应用程序所自行决定, 而是由Android系统通过运行机制决定
程序的生命周期Life Cycle) ■Activity栈 口遵循“后进先出”的规则 Acti vity 入栈 出栈 活动状态 Act i vity Acti vity 非活动状态 Acti vity Act i vity 暂停状态 或 停止状态 终止 Acti vity Activity 非活动状态 释放资源 Activity栈
程序的生命周期(Life Cycle) n Activity栈 q 遵循“后进先出”的规则 Act i vi t y Act i vi t y Act i vi t y Act i vi t y Act i vi t y . . . . . . 入栈 活动状态 暂停状态 或 停止状态 出栈 Act i vi t y 非活动状态 Act i vi t y 释放资源 终止 非活动状态 Act i vi t y 栈