I just found that when the device has lock screen enabled, the followings happen. For this activity, android:screenOrientation="landscape" is set in the manifest. Then I perform the followings with my phone in a portrait mode.
- The user opens an activity.
- onCreated() is called
- onStart() is called
- onResume() is called
- The user LOCKS the device 4.5 onPause is called()
- onDestroy() is called
- onCreate() is called
- onStart() is called
- onResume() is called 8.5 onPause is called()
- The user UNLOCKS the device
- onResume() is called
- onDestroy() is called
- onCreate() is called
- onStart() is called
- onResume() is called.
Okay, I don't understand why 6,7,8 are executed after the screen goes off.. Also I don't understand why 11, 12, 13, 14 are executed. Do some weird things happen when I lock and unlock the device? I am suddenly confused with the activity lifecycle.. Can anyone clarify this?
Attache the code and the log msg
package com.example.wf;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("log", "oncreate");
}
@Override
protected void onResume() {
super.onResume();
Log.d("log", "onresume");
};
@Override
protected void onStart() {
super.onStart();
Log.d("log", "onstart");
};
@Override
protected void onPause() {
super.onStart();
Log.d("log", "onpause");
};
@Override
protected void onDestroy() {
Log.d("log", "ondestroy");
super.onDestroy();
};
}
Log msgs
10-05 23:11:07.994: D/log(23810): oncreate
10-05 23:11:07.994: D/log(23810): onstart
10-05 23:11:07.994: D/log(23810): onresume
// LOCK DEVICE
10-05 23:11:19.957: D/log(23810): ondestroy
10-05 23:11:20.007: D/log(23810): oncreate
10-05 23:11:20.007: D/log(23810): onstart
10-05 23:11:20.007: D/log(23810): onresume
// UNLOCK DEVICE
10-05 23:11:57.407: D/log(23810): onresume
10-05 23:11:57.537: D/log(23810): ondestroy
10-05 23:11:57.587: D/log(23810): oncreate
10-05 23:11:57.587: D/log(23810): onstart
10-05 23:11:57.587: D/log(23810): onresume