2011年6月30日 星期四

Android Activity有新的Life Cycle??

這是我今天在網路上看到的:
 
(This picture is copy from http://www.anddev.org/lifecycle_of_an_activity-t81.html ,
I will remove it if auther disagree.)

發現這一張圖中在onPause()之前增加了onFreeze(),以前在API  Level 8時沒印象有這一個call back阿!難不成是新加的嗎?一時找不到答案所以先不深究了,google了一下,發現onFreeze被call的時機發生在於一個Activity (A)去呼叫另一個Activity (B)時,A在onPause()之前會先進行onFreeze();但是當B返回A時,不會onFreeze()就直接onPause()了。目前對它的認識就到這邊,以後要是有時間深入trace後有新的心得再跟大家分享吧!若有不對之處也請各位先進不吝指正!

2011/07/02更正....
原來onFreeze()是一個很舊的方法,後來的版本中被更名為onSaveInstanceState()以更符合狀態的意義,可參考官方文件:http://developer.android.com/sdk/OLD_RELEASENOTES.html
至於onSaveInstanceState被call的時機發生在於一個Activity (A)去呼叫另一個Activity (B)時,A在onPause()之前會先進行onSaveInstanceState();但是當B返回A時,不會onSaveInstanceState()就直接onPause()了,這個原先查詢到的資訊(onFreeze()改為onSaveInstanceState())經過程式trace後證實是沒有錯的~


沒有留言:

張貼留言