Activity的生命周期

 

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/

 

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

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值