gpt4 book ai didi

Android Activity 生命周期和锁定/解锁设备

转载 作者:IT老高 更新时间:2023-10-28 22:02:12 25 4
gpt4 key购买 nike

我刚刚发现当设备启用锁屏时,会发生以下情况。对于此 Activity ,在 list 中设置了 android:screenOrientation="landscape"。然后我用我的手机在纵向模式下执行以下操作。

  1. 用户打开一个 Activity 。
  2. onCreated() 被调用
  3. onStart() 被调用
  4. onResume() 被调用
  5. 用户锁定设备4.5 onPause 被调用()
  6. onDestroy() 被调用
  7. onCreate() 被调用
  8. onStart() 被调用
  9. onResume() 被调用8.5 onPause 被调用()
  10. 用户解锁设备
  11. onResume() 被调用
  12. onDestroy() 被调用
  13. onCreate() 被调用
  14. onStart() 被调用
  15. onResume() 被调用。

好吧,我不明白为什么屏幕熄灭后执行6,7,8..我也不明白为什么要执行 11、12、13、14。当我锁定和解锁设备时会发生一些奇怪的事情吗?我突然对 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

最佳答案

在手机(或方向锁定为纵向的平板电脑)上,锁定屏幕仅为纵向。因此,当设备被锁定时,设备会自动切换到纵向模式(导致 6、7、8 和 9)。当设备解锁时,onResume() 被调用,因为你的 Activity 变得可见,但是你再次在纵向和现在锁定在横向之间转换,所以 Activity 得到在景观中被破坏和重建。

关于Android Activity 生命周期和锁定/解锁设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19205049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com