親測Activity生命週期及2個Activity 之間切換觸發的的方法時間點


測試過程:

1,打開app主頁,及MainActivity.java 裏渲染的視圖,觸發onStart()->onResume(),onStart() 狀態用戶可見不可交互,有點系統準備好了顯示的感覺,但還不能進行交互,沒有激活。



logcat,捕捉到的信息:

2,點擊新的Activity,測試點擊了TestMediaActivity.java 這個新的Activity,logcat捕獲到信息:



證明從一個Activity,進入新的Activity首先會onPause() 暫停當前的Activity,數據會被緩存起來,等待喚醒,接着那個新的Activity 會執行一遍剛開始打開app 進入Main的過程,同樣是onStart()->onReseme();走到用戶的視野中,當新的Activity 沒有問題會把前面那個Activity 觸發onStop();不能顯示,停止掉,但沒有銷燬,只是看不到。


3,點擊後退鍵,返回到前一個Main的Activity,信息如下:




依舊是先暫停onPause()掉當前的Activity,再重新開啓一個新的Activity,成功開啓後就把前面的onStop() 停止掉,且馬上會onDestroy()銷燬掉。徹底不在內存。



4,繼續測試,這時按下home鍵,手機界面回到主頁。這時app的mainActivity 會被onPause()->onStop() 僅僅是被暫停後停止,而不是銷燬,通過查看活動的app也能看都,確實是這樣的。




5,再次打開app,顯示mainActivity,會觸發onStart()->onResume(),再次顯示到眼前





6,徹底關掉整個app,




依舊是先暫停,停止,最終銷燬。當一個Activity播放一段音樂的時候,如果這個Activity被關掉了,音樂可以同事也關掉,也可以繼續播放,但是當再次進入就必須重新播放或者繼續前面的播放,而不是重新執行一個mediaplayer、那樣會有個2個人在唱歌,教訓很慘重,所有有了上面的測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章