一个应用程序的活动除了OnCreate方法之外,还有onPause和OnResume等方法,当从一个活动切换到另一个活动时,原来的活动将经过一系列的状态改变[4]。开发者可在程序中添加各状态相对应的流程,每当活动状态改变时,就会执行对应的流程。为了得到更佳的用户体验,活动必须在各个周期中负责保管状态、恢复状态以及传送资料等工作。

3。2。1 活动的生命状态文献综述

Android的虚拟机是使用堆栈管理。主要有四种状态:

(l) 活动状态

活动状态是指用户启动应用程序或活动后,活动运行中的状态。在Android平台上,同一时间有且只有一个活动会处于活动或者运行状态。其他的活动都是未启动、停止的或是暂停状态。

(2) 暂停状态

暂停状态是指活动暂时变暗,回到背景画面的状态。当弹出警告对话框或者来电话时,就会让原来正在运行活动的退回到背景画面。弹出的警告对话框等遮挡了原来的活动画面。所以活动处于暂停状态时,用户是无法与原活动进行互动的。

(3) 停止状态

停止状态是指其他活动正在被执行,此活动己经离开主屏幕,不再有动作。可以按返回键,调出所有处在停止状态的应用程序。处于停止状态的活动,还可以通过通知来唤醒。

(4) 已回收或未启动状态

已回收或未启动状态具体是指活动还未被启动,却已经被手动终止或被系统回收的状态。可以在程序中调用finish方法来手动终止活动。如果是系统回收的话,可能是由于内存不足,根据系统内存不足时的回收原则,会将处于停止状态的活动的内存进行回收[5]。

图2  Android活动生命周期

3。2。2  活动的运作流程

Android应用程序应遵循的运作流程如下:

(l) 一般启动

启动活动的流程为onCreate一>onStart一>onResume。首先需要分配资源给这个活动(创建状态),再将活动的内容展示到屏幕上(启动状态);在一切就绪后,取得屏幕的控制权(恢复状态),用户可以开始使用这个程序。

(2) 调用另一个活动

调用另一个活动的基本流程为onPause一>onCreate一>onStart一>0nResume一>onStop。该流程首先冻结原来的活动,再交出屏幕控制权;直到活动2完成一般启动流程后,活动1才会被停止。

(3) 回到原来活动

回到原来活动的基本流程为onPause一>onRestar来*自~优|尔^论:文+网www.youerw.com +QQ752018766*t一>onStart一>onResume一>onStop一>onDestroy。另外按返回键也可以回到原来的活动。

(4) 退出结束

退出结束的基本流程为onPause一>onStop一>onDestroy。如果程序中有直接调用finish方法来关闭活动的话,系统会自动跳过先冻结的阶段,直接暂停,停止,直至销毁。

(5) 回收后再启动

回收后再启动的基本流程为onCreate一>onStart一>onResume。如果被回收掉的活动一旦又重新被调用时,会像一般启动一样再次调用活动的onCreate方法[1]。

当在模拟器上已经执行过多个应用程序,只要按下返回键,就会开启最近一次开启过的活动。所以如果要让再次被创建的活动跟原来开启过的一样,那么在活动之间切换时,就要保存资料:即在每次活动运行到暂停或停止状态时先保存资料,然后在创建时将资料读取出来[3]。

上一篇:asp.net+sqlserver校园二手交易网站设计+ER图
下一篇:蚁群算法与其改进算法的比较MATLAB程序

Android课程同步练习系统的设计

基于蓝牙和安卓的仪器专用APP的设计和开发

基于iOS的团购APP设计与实现 

Android智能手机的交互式学习系统的设计

Android移动终端的网上便利...

Android移动互动学习系统学生端设计

Android移动互动学习系统教师端设计

老年2型糖尿病患者运动疗...

麦秸秆还田和沼液灌溉对...

安康汉江网讯

张洁小说《无字》中的女性意识

新課改下小學语文洧效阅...

网络语言“XX体”研究

我国风险投资的发展现状问题及对策分析

互联网教育”变革路径研究进展【7972字】

ASP.net+sqlserver企业设备管理系统设计与开发

LiMn1-xFexPO4正极材料合成及充放电性能研究