首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

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

2012-08-30 
通过实例来查看Activity的生命周期http://www.3geye.net/?3/viewspace-3012我开发的Android项目快结尾了。

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

[;q;rD1h0`Y3import android.app.Activity;3GEYE?'`4[#b!o,v
import android.os.Bundle;
@N)rp7`3
D8qp!U_h,e5G3public class LifelineDemo extends Activity{
)OPSd.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[

`VGIa"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#{+hg!Jc^j
??? protected void onResume(){
w*s i?]5?7sd?|~]!s3??? ??? super.onResume();
g4?g ]$uS4uWG3??? ??? 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}|"eXZwka\
??? ???
b@?L-HRz m}0ZI3??? }
8f8J Vab WIR33GEYE0B8fvJ;G\
??? protected void onPause(){
F_%g@7O_Cy_Y3??? ??? super.onPause();
0tm0vobV?]-?5T3??? ??? Logger.info("onPause.");
0v+f,]M TUcP-E3??? ???3GEYEk3~M l Z#K
??? }
H bc4y"Z d[33GEYEBi-|qvf.^
??? protected void onStop(){3GEYE?UV9Y.O7O'Nm
??? ??? super.onStop();3GEYE4k1G!]1Jf*m4emt
??? ??? Logger.info("onStop.");3GEYEw ? [DP^/c?z.`"l
??? ???
y Tu)P8gv3??? }
&sB6?'~(`'N"KEc33GEYE3ijoY/l;@s t?i
??? protected void onDestroy(){
7vq3cOl:K3??? ??? super.onDestroy();
"QyyC{:J]g3??? ??? Logger.info("onDestroy.");3GEYEM4`7WFc
??? ???
x%ZtG%OK$H[ D*d&A3??? }
gqn(uZM+z.n?uj#Wq33GEYE-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-Y j[ x2p8jB*X4GG3点Run的时候,可以查看到
'YVEf I%R3e3OnCreate
D],i"_G3OnStart3GEYE~I6DH3T,f6sI3?2r*G2{
onResume的日志。
Q$R"]d.x_3W3上面三个方法就相当于J2ME的startApp的一个方法。3GEYE3Q||/igJ j8cd
至于为什么onResume会在启动中执行,我感到有些意外,查看下APIs文档
+P7zJ3FW}b'gi3查看了下APIs说onResume与onFreeze方法是相互影响的,
9"t9Zql3
2@p@;R?q'l3二。当你点击Home键的时候3GEYE|?TIO+W Z
可以看到3GEYEIe5cC%l%riE
onFreeze3GEYE+Ma8FsPC&wie
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~vo6Fj3onDestory3GEYEWk-[U`
上面三个方法结合就相当于J2ME的destroyApp
8v'c*fuLh3
D+N7Fvqugi3四。Pause 过后,再点击软件图标
8UE9Vm]3会出现
3aI6j7^?cA~3onRestart3GEYE.scw+N5pUu6N
onStart
7G2~t.c'iG3onResume3GEYEGo{5s Tvm,u
上面的方法就是恢复程序的意思。在J2ME来说有没有对于的方法呢。应该就是startApp吧,不过要自己去判断是否是第一次启动,还是Restart了。
dm8U:lkl0vu&U7x33GEYEIF(^;Qv
看来Androiod开发确实不如J2ME简单。3GEYE8Kz,u(X3V;g] 1 楼 zhq56030207 2010-08-17   可是好像有错耶

热点排行