我刚刚发现,当设备启用锁定屏幕时,以下情况发生。 对于这个 Activity,android: screenorientation="横向"是在清单中设置的。 然后我用我的手机在纵向模式下执行以下。用户打开 Activity 。
onCreated() 被称为
onStart() 被称为
onResume() 被称为
用户锁定设备 4.5 onPause被调用( )
onDestroy() 被称为
onCreate() 被称为
onStart() 被称为
onResume() 被称为 8.5 onPause ( )
用户解锁设备
onResume() 被称为
onDestroy() 被称为
onCreate() 被称为
onStart() 被称为
onResume() 被称为。
好吧,我不明白为什么 6,7,8 是在屏幕关闭后执行的。 也不理解为什么执行 11,12,13,。 当我锁定和解锁设备时做一些奇怪的事情? 我突然对 Activity 生命周期感到困惑。 谁能澄清这一点?
检查代码和日志消息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();
};
}
日志消息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