Android 开基础 Activity lifecycle
2010-07-15 21:17:00 来源:WEB开发网程序组件有生命周期—从开始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
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接