通过实例来查看Activity的生命周期

我开发的 Android项目快结尾了。现在需要实现的是对Android程序生命周期的控制,所以我特别写了一个例子来查看Android的生命周期。方便在项目的工作。先看代码吧。超简单的代码就可以搞定一切。
~.y3[r�F3
)cC xjxV.@3package com.gggeye.android; 3GEYE-Y6^?l:[:jg

[;q;r D1h0`Y3import android.app.Activity; 3GEYE?'`4[#b!o,v
import android.os.Bundle;
@N)r p7`3
D8qp!U_h,e5G3public class LifelineDemo extends Activity{
)O P Sd.J3    protected void onCreate(Bundle icicle ){ 3GEYE4Ez�Go1Wb
        super.onCreate(icicle);
GZ*V"c�uohp3        Logger.info("onCreate.");
A~ uv$f9rc"w3    } 3GEYE`5{I!tyq,\O1[

`V GIa"Bu)L3    protected void onStart(){ 3GEYE/o2`jHhF$B
        super.onStart();
l)]T+~5Am3        Logger.info("onStart.");
J]5xC,KA~3       
3BtL:[4j!mX4l&z(L.Q3    }
dxq#}!K3   
tf(j?"P3    protected void onRestart(){
;`:S8ddd3Y3        super.onRestart(); 3GEYEIS;a1hH[!|c2x
        Logger.info("onRestart."); 3GEYE.A(M1`}F#V[#Hjf
        3GEYEFY,_5O7U\,_2Az
    } 3GEYE7} \~u)d
3GEYE4R:I!e#{+h g!Jc ^j
    protected void onResume(){
w*si�]5?7sd�|~]!s3        super.onResume();
g4?g]$uS4u WG3        Logger.info("onResume.");
/JTs_#Jt3        3GEYE{`+n\[)t3m1{@
    } 3GEYE9~$[3\ f8mV&t~

{-SNjU)k3    protected void onFreeze(Bundle outIcicle){
;A4i$Fk;zh0l3        super.onFreeze(outIcicle);
j|'a`B;d3        Logger.info("onFreeze."); 3GEYE}|"e X Zw ka\
       
b@�L-HRzm}0ZI3    }
8f8JVabWIR3 3GEYE0B8fvJ;G\
    protected void onPause(){
F_%g@7O_Cy_Y3        super.onPause();
0tm0vobV�]-?5T3        Logger.info("onPause.");
0v+f,]M T UcP-E3        3GEYEk3~M l Z#K
    }
Hbc4y"Zd [3 3GEYEBi-|qvf.^
    protected void onStop(){ 3GEYE�UV9Y.O7O'Nm
        super.onStop(); 3GEYE4k1G!]1J f*m4emt
        Logger.info("onStop."); 3GEYEw ? [DP^/c�z.`"l
       
yTu)P8gv3    }
&s B6?'~(`'N"KEc3 3GEYE3ijoY/l;@st ?i
    protected void onDestroy(){
7vq3cOl:K3        super.onDestroy();
"QyyC{:J]g3        Logger.info("onDestroy."); 3GEYEM4`7WF c
       
x%ZtG%OK$H[D*d&A3    }
gqn(uZ M+z.n�uj#Wq3 3GEYE-R$eF+oL(^d5J^
} 3GEYEc0y;rSy%o8D,MEu

4K y1x'mNf)B3我们只需要在各个生命周期的时候调用,然后查看下他的日子输出就OK了。下面看看结果吧。
Rvz$O"gI31.点击Run,启动Android
(D'_RG9`0?I3从日志就可以看出Log的痕迹。至于不会查看日志的,建议到本站搜索下关于Android 日志的查看方法。
i5j-Yj[ x2p8jB*X4GG3点Run的时候,可以查看到
'YVEf I%R3e3OnCreate
D],i"_G3OnStart 3GEYE~I6DH3T,f6sI3?2r*G2{
onResume的日志。
Q$R"]d.x_3W3上面三个方法就相当于J2ME的startApp的一个方法。 3GEYE3Q||/igJj8cd
至于为什么onResume会在启动中执行,我感到有些意外,查看下APIs文档
+P7zJ3FW}b'gi3查看了下APIs说onResume与onFreeze方法是相互影响的,
9\"t9Zq l3
2@p @;R�q'l3二。当你点击Home键的时候 3GEYE|�TIO+WZ
可以看到 3GEYEIe5cC%l%r iE
onFreeze 3GEYE+Ma8FsPC&wi e
onPause
k5QYd8g3onStop
[I/Z#? ?`4VZP8k_:p(R3上面的程序就是通知Android处于停止状态,也就是相当于J2ME pauseApp方法
nxO.gPoV'a3
S5pF!l*]a/p3W3三。点击Android模拟器的关闭键可以看到 3GEYE-YY6j2?,w?!Gg_
onPause
0kVZOr9t3onStop
"~Wf~vo6Fj3onDestory 3GEYEWk-[U`
上面三个方法结合就相当于J2ME的destroyApp
8v'c*fuLh3
D+N7Fvqugi3四。Pause 过后,再点击软件图标
8UE9Vm]3会出现
3aI6j7^?c A~3onRestart 3GEYE.scw+N5pUu6N
onStart
7G2~t.c'iG3onResume 3GEYEGo{5s Tv m,u
上面的方法就是恢复程序的意思。在J2ME来说有没有对于的方法呢。应该就是startApp吧,不过要自己去判断是否是第一次启动,还是Restart了。
dm8U:lkl0vu&U7x3 3GEYEIF(^;Qv
看来Androiod开发确实不如J2ME简单。 3GEYE8Kz,u(X3V;g]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值