onDestroy() 在 activity 横向模式 android 中调用
onDestroy() called when a in activity landscape mode android
当应用activity处于横向模式时,当有来电时,来电会将场景切换为纵向模式,
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start_jum);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
调用后,处于横向模式的应用程序中的 activity 被销毁并重新创建。
D/StartJumActivity: onPause
D/StartJumActivity: onResume
D/StartJumActivity: onPause
D/StartJumActivity: onDestroy
D/StartJumActivity: on Create
我的 activity 中的数据被删除并创建了新的 activity。
从通话返回后,有什么方法可以在横向模式下 activity 中保留这些数据吗?
尝试覆盖 onSaveInstanceState()
以保存您自己的数据并使用 onCreate()
或 onRestoreInstanceState()
恢复它。查看此以获取更多信息 https://www.todaysoftmag.com/article/2663/when-do-screen-orientation-changes-matter#:~:text=In%20Android%2C%20the%20orientation%20changes,called%2C%20followed%20by%20onCreate())。
您可以尝试在清单中强制 Activity
的方向:
android:screenOrientation="landscape"
这可能会阻止 Activity
被销毁和重新创建。
另一种选择是告诉 Android 您将自己处理方向更改,而不是在方向更改时重新创建 Activity
。为此添加
android:configChanges="orientation"
到您的 Activity
的清单声明。现在,当出现屏幕方向时,您的 Activity
将不会被破坏和重新创建。相反,将调用 onConfigurationChange()
。
当应用activity处于横向模式时,当有来电时,来电会将场景切换为纵向模式,
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start_jum);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
调用后,处于横向模式的应用程序中的 activity 被销毁并重新创建。
D/StartJumActivity: onPause
D/StartJumActivity: onResume
D/StartJumActivity: onPause
D/StartJumActivity: onDestroy
D/StartJumActivity: on Create
我的 activity 中的数据被删除并创建了新的 activity。 从通话返回后,有什么方法可以在横向模式下 activity 中保留这些数据吗?
尝试覆盖 onSaveInstanceState()
以保存您自己的数据并使用 onCreate()
或 onRestoreInstanceState()
恢复它。查看此以获取更多信息 https://www.todaysoftmag.com/article/2663/when-do-screen-orientation-changes-matter#:~:text=In%20Android%2C%20the%20orientation%20changes,called%2C%20followed%20by%20onCreate())。
您可以尝试在清单中强制 Activity
的方向:
android:screenOrientation="landscape"
这可能会阻止 Activity
被销毁和重新创建。
另一种选择是告诉 Android 您将自己处理方向更改,而不是在方向更改时重新创建 Activity
。为此添加
android:configChanges="orientation"
到您的 Activity
的清单声明。现在,当出现屏幕方向时,您的 Activity
将不会被破坏和重新创建。相反,将调用 onConfigurationChange()
。