(坑)Andriod 旋转屏幕开坑

本文探讨了Android中屏幕旋转导致Activity重建的问题及其解决方案。详细解释了如何使用onSaveInstanceState和onCreate方法来保存和恢复Activity的状态,确保用户体验的一致性。

1

今天起,我要在这里记录和旋转屏幕有关的坑,因为坑太深了。。。。。。

理论

1.当屏幕旋转时,Activity会销毁,然后重建一个Activity;
2.只要设备配置发生了改变,Android就会销毁当前Activity,然后再创建新的;

解决方案

1.protected void onSaveInstanceState(Bundle s){}

Bundle 是一种存储键值对的结构,也就是说我们依靠Bundle储存信息;

那这个方法调用与什么时候呢? Android给出是这样的,反正就是呢被销毁之前留下火种;
这里写图片描述

通过死前调用此方法保存了数据,然后Activity就被销毁了;接着就是重建Activity的时候,那新Activity如何获取数据呢?

让我们看看onCreate()方法本身。
protected void onCreate(Bundle savedInstanceState){}
也就是说呢,每次Activity进行onCreate方法时,都会传入Bundle,那接下来就是把Bundle传下来的值拿出来了;

  protected void onCreate(Bundle savedInstanceState){
  if(savedInstanceState!=null)
        {
            mCurrentIndex=savedInstanceState.getInt(KEY_INDEX,0);
        }
   }

举个例子 凤凰涅槃,死而复生;但凤凰藏着宝贝呢,重生忘了宝贝藏哪里怎么办呢?
想说刻在岩石上,但风险又有些大;于是就刻下一大堆鬼画符,并在内心与藏宝地关联;并发动神力将其封印在脑海;
这样,凤凰涅槃后,看见鬼画符就解开封印,想起藏宝地,想起往事,我们才能说这个凤凰和死之前是一个;而不是重生了一直完全新的凤凰;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值