通过实例来查看Activity的生命周期
  vvb6bOG0D5hl 2023年11月15日 42 0


http://www.3geye.net/?3/viewspace-3012

我开发的

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]

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  8Tw5Riv1mGFK   2024年05月01日   78   0   0 C++
  BYaHC1OPAeY4   2024年05月08日   56   0   0 C++
  yZdUbUDB8h5t   2024年04月29日   56   0   0 C++
  yZdUbUDB8h5t   2024年05月05日   43   0   0 C++
  oXKBKZoQY2lx   2024年05月17日   56   0   0 C++
vvb6bOG0D5hl