A. android service pause和stop的區別
onPause 用於由一個Activity轉到另一個Activity、設備進入休眠狀態(屏幕鎖住了)、或者有dialog彈出時
onStop 用於不可見的Activity(有對話框彈出時,這時底下的activity仍然可見,所以此時onStop不會被調用)
從下面的日誌日誌可以看出區別:
1.從FirstActivity跳到SecondActivity時
FirstAcvity ---> onCreate
FirstAcvity --->onStart
FirstAcvity --->onResume
FirstAcvity --->onPause
SecondActivity--->onCreate
SecondActivity--->onStart
SecondActivity--->onResume
FirstAcvity --->onStop
現在給AndroidMainfest.xml中的SeconedActivity屬性加入android:theme="@android:style/Theme.Dialog",則SeconedActivity將以對話框形式出現,不會對FirstAcvity形成遮蓋.
這時的狀態輸出為:
FirstAcvity ---> onCreate
FirstAcvity --->onStart
FirstAcvity --->onResume
FirstAcvity --->onPause
SecondActivity--->onCreate
SecondActivity--->onStart
SecondActivity--->onResume
這時FirstAcvity比完全遮蓋時少調用了onStop方法.
以下兩種情況下 都只會觸發onPause而不會觸發onStop
1. 一個透明的包含Dialog的Activity 出現
2. 按poweroff鎖屏
顯示一個非activity的Dialog,是不會調用onPause和onStop的,因為此Dialog屬於activity