2011年(8)
分类: 嵌入式
2011-05-25 00:36:46
Activity 的生命周期
我们就理解为手机的一个显示屏幕或者窗口,用来和用户进行交互的
通常activity是全屏的,也可以作为floating windows(通过windowIsFloating设置主题)悬浮窗口,也可以嵌入别的activity里(用ActivityGroup)
所有的Activity都要在AndroidManifest.xml中进行注册。
的生命周期:
Activity所拥有的方法如下图
OnCreate()必须在子类中被实现.(主要用于初始化)
onDestroy()用于activity资源的释放。
在activity的7个方法中在后三个方法中都有可能使activity被终止释放。所以要做某些数据的提交最好是在onPause()中处理。因为onPause()是activity终止时肯定会调用的函数。
Activity可分为以下几个状态:
1.当前屏幕running
2.失去焦点但是还是可见的(子activity为悬浮的或者透明的),但是处于暂停状态(Pause),在此状态系统有可能因为内存不足 被杀死。
3.不可以见的,完全被另一个activity覆盖,处于停止状态(stop),在此状态系统有可能因为内存不足 被杀死。
4.如果一个activity处于暂停或者停止状态,系统可以调用finish()来使程序结束,或者是简单的杀死进程。如果用户想要在一次显示被finish()的activity,必须重新生成也就是从Oncreate()开始生成。
注意:
如果Activity是第一次执行Oncreate()会被执行一次,以后就不会再被调用除非发生以上的4的情况。onDestroy()也是只会调用一次,其余方法可调用多次。
Activity生命周期:
1.整个生命周期开始于调用onCreate(),终结于调用onDestroy().一个activity通过onCreate()来初始化,调用onDestroy()释放所有的资源。
2.交互生命周期(在这个时期用户是可以看见屏幕的),发生在onStart()和onStop()之间。在这个期间用户可以看见屏幕,也可能看不见屏幕。在这两种方法之间你可以维护资源所需要的显示互动给用户。
3.可见生命周期。在开始于onResume()直到onPause()结束。在此阶段用户是可以看见屏幕的。
下图充分说明了Activity的生命周期
两个activity:
第一次执行activity onCreate->onStart()->onResume();
由运行到暂停 onResume->onPause()
有运行到停止 onResume->onPause()->onStop()
由停止到运行 onStop->onRestart()->onStart()->onResume()
子activity为悬浮的activity或者是透明的activity
由运行到暂停 onResume->onPause()
由停止到运行 onPause()->onResume()
以上均指父activity
设置activity为悬浮和透明的activity
在AndroidManifest.xml的相关的Activity中添加 ” 设为悬浮。加入 android:theme=”@android:style/Theme.Translucent” 设为透明的activity
tianbianfei2011-07-15 13:19:19
楼主牛人啊,本人刚学android,不知道android为什么签名啊?签名都有哪些作用?麻烦楼主到http://doumiw.com/market/community/t!showTopic.do?topicId=24这个网址帮着解答一下,行吗?谢谢了!