在Android开发中,当用户将设备从横屏切换到竖屏或者从竖屏切换到横屏时,Activity会经历一系列的生命周期变化。这些变化会影响到Activity中的状态和数据,因此开发者需要了解这些生命周期的变化,以便在切换过程中正确处理相关逻辑。本文将详细介绍Android横竖屏切换时Activity的生命周期,并提供相应的源代码示例。
在Android中,当屏幕方向发生变化时,系统会销毁当前的Activity并重新创建一个新的Activity实例。为了保存和恢复数据,开发者可以重写Activity的以下方法:
-
onSaveInstanceState(Bundle outState):在Activity被销毁之前调用,用于保存需要保留的数据。可以将数据存储到Bundle对象中,以便在Activity重新创建后恢复数据。
-
onRestoreInstanceState(Bundle savedInstanceState):在Activity重新创建后调用,用于恢复之前保存的数据。可以从Bundle对象中获取之前保存的数据,并进行相应的恢复操作。
下面是一个简单的示例代码,演示了如何在横竖屏切换时保存和恢复数据:
public class MainActivity extends <