WEB开发网
开发学院手机开发Android 开发 Android 开基础 Activity lifecycle 阅读

Android 开基础 Activity lifecycle

 2010-07-15 21:17:00 来源:WEB开发网   
核心提示:程序组件有生命周期—从开始Android实例化它们来响应intent到结束时实例被销毁,在这段时间,Android 开基础 Activity lifecycle,它们时而有效时而无效,对于activity来说,在对象第一次被实例化的时候,所有的activity必须执行onCreate()方法来做初始化工作,就是用户时而

程序组件有生命周期—从开始Android实例化它们来响应intent到结束时实例被销毁。在这段时间,它们时而有效时而无效,对于activity来说,就是用户时而能看见时而看不见。本节讨论activity,service以及 broadcast receiver的生命周期——包括它们存在时可能处于的状态,在状态转换时通知你的方法,和那些状态对host它们的进程被中断和实例销毁的可能性的作用。

Activity基本上有三种状态:

当它在屏幕前端时(处于当前task的activity stack的顶端)状态为激活或正在运行。该activity是用户动作的焦点。

如果它仍然对用户可见但并没有被操作,它的状态为暂停。也就是说,另一个activity在其上方,并且那个activity是透明的或者未覆盖整个屏幕,因此这个暂停的activity仍然有一部分显示出来。一个暂停的activity依然是活动的(它保存了所有的状态和成员信息并且和窗口管理器连接),但是可以在内存不足时被系统关闭。

当它被另一个activity完全掩盖时状态为停止。它仍然保存了所有的状态和成员信息。然而,它对用户来说不再可见,因此它的窗口被隐藏,并且在其他地方需要内存的时候常常会被系统kill。

如果一个activity处于暂停或停止状态,系统可以通过调用finsish()方法或者简单点直接kill进程来将其从内存中丢弃。当它再次显示给用户时,就必须完全重启并恢复到原来的状态。

当一个activity转换状态时,它会通过调用下面的方法来得知改变:

void onCreate(Bundle savedInstanceState)

void onStart()

void onRestart()

void onResume()

void onPause()

void onStop()

void onDestroy()

所有这些方法都是可以被重写来做状态改变时做适当工作的钩子。在对象第一次被实例化的时候,所有的activity必须执行onCreate()方法来做初始化工作。许多activity也实现onPause()来确认数据改变并准备好停止和用户交互。

原文

Component Lifecycles

Application components have a lifecycle — a beginning when Android instantiates them to respond to intents through to an end when the instances are destroyed. In between, they may sometimes be active or inactive,or, in the case of activities, visible to the user or invisible. This section discusses the

1 2  下一页

Tags:Android 基础 Activity

编辑录入:coldstar [复制链接] [打 印]
赞助商链接