Activity的生命周期

来源:互联网 发布:淘宝上如何退货给买家 编辑:程序博客网 时间:2024/04/29 16:12

 

Android的Activity有其独特的生命周期(Activity LifeCycle),如下7个生命周期函数

OnCreate()【在activity第一次被创建的时候调用,写的代码比如指定布局文件、绑定监听器等静态设置操作】
OnStart()【当activity被显示出来能被用户看到的时候调用】
OnResume()【当activity能够获得用户焦点的时候调用】
OnPause()【当应用程序调用新的activity时调用】
OnStop()【当activity对于用户而言处于不可见时调用】

在启动一个新的Activity阶段:会依次执行3个生命周期OnCreate(),OnStart()和OnResume()

在Activity失去焦点阶段:如果新的Activity完全遮挡住了原有的Activity,会调用OnPause()和OnStop();如果新的Activity只是部分遮挡,如对话框形式的Activity,只会调用OnPause()

在Activity重新获得焦点阶段:如果原Activity是被完全遮挡住的,将会调用OnRestart()、OnStart和OnResume().如果原Activity不是被完全遮挡住的,系统将只调用OnResume().

在关闭Activity阶段:会依次执行Onpause()、OnStop()、OnDestroy()

 

 

 

Task运行机制

 

Task是一个存放很多activity的栈,所有的activity对象在Task栈中被组织成同一个单元。

 

(1)当应用程序启动后,将默认的第一个activity对象压入task栈中.
(2)当点击按钮后启动第二个activity,该Activity对象被压入栈中;手机显示Task栈中顶部的元素,之前的Activity对象还存放在Task栈中,没有被销毁。
(3)当按下back按钮后,处于Task栈顶部的Activity对象被弹出。

 

 

但如果在通过StartActivity(intent)启动新的activity后,再调用finish(),之前的Activity对象就会在Task栈中被销毁。

 

(*)Task栈中不允许重新排序。

 


对话框式的Activity,在布局文件AndroidMainfest.xml中对应的加上

 

 

 

本帖转自:Android学习笔记之Activity的生命周期

 

http://myzh.me/blog/2011/03/android%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e4%b9%8bactivity%e7%9a%84%e7%94%9f%e5%91%bd%e5%91%a8%e6%9c%9f/

 

如有侵权,请联系我,我会尽快处理,谢谢。

 

 

 

 

原创粉丝点击