1. 程式人生 > >關於鎖屏和回到桌面的activity生命週期的疑問

關於鎖屏和回到桌面的activity生命週期的疑問

問題

因為朋友的一個問題引發了對這個問題的探索,當然一如既往的先去百度了一把:”鎖定螢幕 activity的生命週期“,結果看了2篇比較靠前的帖子:

下面是複製的裡面的具體內容:
鎖屏分為兩個步驟,先是鎖定螢幕,再是黑屏
onCreate(在該方法裡鎖屏)—>onStart—>onResume
黑屏後:onPause
點亮屏幕後:onResume

實驗

然而我發現這與我的猜想完全不一樣,所以我決定自己寫個demo驗證一下。

public class MainActivity extends Activity {
    private final String TAG = "MainActivity"
; @Override protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "onCreate"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onStart() { Log.d(TAG, "onStart"); super.onStart(); } @Override
protected void onNewIntent(Intent intent) { Log.d(TAG, "onNewIntent"); super.onNewIntent(intent); } @Override protected void onRestart() { Log.d(TAG, "onRestart"); super.onRestart(); } @Override protected void onResume() { Log.d(TAG, "onResume"
); super.onResume(); } @Override protected void onPause() { Log.d(TAG, "onPause"); super.onPause(); } @Override protected void onStop() { Log.d(TAG, "onStop"); super.onStop(); } @Override protected void onDestroy() { Log.d(TAG, "onDestroy"); super.onDestroy(); } }

結果

一、鎖屏和解鎖操作

1、按下鎖屏:
這裡寫圖片描述

2、開啟螢幕
這裡寫圖片描述

二、桌面和再次回到應用操作

1、回到桌面
這裡寫圖片描述
2、再次回到應用
這裡寫圖片描述

不難發現:這兩個操作走的生命週期是一樣的,而上面的帖子說不會鎖屏只會走onpause,我把專案的sdk,從5.1切換到2.3,也沒有發現這種情況。