当从深色模式切换到浅色模式时,activity会销毁重新加载,但往往是从xml文件开始加载,而动态设置的一些值不会保存,同时如果页面足够复杂,被打回到起点是很痛苦的。

对于这一点,可以在AndroidManifest文件中activity标签后设置

configChanges = "uiMode"

可以保证用户在模式切换时不会重启activity。但是模式切换并没有完成。

所以如果还需要切换模式的话,可以考虑重写OnConfigurationChanged()方法。

而我正面临着复杂的单界面多场景切换的情况,中间场景要恢复正确的状态让我很头疼,因为不能轻易切换场景。

private Configuration mConfiguration;
...@Override
protected void onCreate(Bundle savedInstanceState) {...mConfiguration = new Configuration(getResources().getConfiguration());
}...
@Override
public void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);if ((mConfiguration.diff(newConfig) & ActivityInfo.CONFIG_UI_MODE) != 0) {// you want to do }
} 

老老实实去重新设置状态再刷新一次界面,多么痛的领悟。

不多说了,我先去准备好柴火,好让产品和设计师祭天。

白天黑夜模式切换引起的activity销毁重启相关推荐

  1. 屏幕旋转导致Activity销毁重建,ViewModel是如何恢复数据的

    前言 当屏幕旋转或者切换系统语言时,Activity 生命周期从销毁再重建,但是ViewModel里面的变量值不受到影响,说明ViewModel中的变量在屏幕旋转前进行了存储,在屏幕旋转后又进行了恢复 ...

  2. Android开发——异步任务中Activity销毁时的问题

    0.  前言 在Android开发中经常会发生Activity的销毁重建,比如用户长时间接听一个电话后回到APP.在Android开发--Fragment知识整理(二)中我们提到了使用Fragment ...

  3. android activity自动重启,8) 十分钟学会android--Activity的生命周期之停止与重启

    恰当的停止与重启我们的activity是很重要的,在activity生命周期中,他们能确保用户感知到程序的存在并不会丢失他们的进度.在下面一些关键的场景中会涉及到停止与重启: 用户打开最近使用app的 ...

  4. 解决华为手机隐藏虚拟按键Activity被重启的问题

    引言 最近技术群里面的妹纸说:在华为手机上开发应用的时候,隐藏底部的虚拟按键Activity会被重启的问题,并且找不到问题所在,于是查查资料,发现问题解决起来蛮简单的. 问题描述 一开始觉得应该是代码 ...

  5. 退出android app时界面残留影响,【Android】App 或 Activity 销毁重建的状态恢复对回调带来的影响...

    问题背景 在开发 PassportSDK 时遇到的此类问题,测试反馈说当打开 App 进入登录页面,此时如果切换出去到手机设置页面将App 的定位权限设置为「拒绝授予」,在切换回 App 会发生登录信 ...

  6. Activity销毁onStop或onDestroy延时10s左右才回调

    好记性不如烂笔头.生活中多做笔记,不仅可以方便自己,还可以方便他人. 前段时间,同事跟我说他遇到一个很奇怪的问题:退出页面,Activity销毁时onStop或onDestroy延时10s左右才回调. ...

  7. Android Activity自动重启的问题

    描述: 最近在做项目时,碰到一个诡异的问题,各种可能的导致的原因排查了一天的时间,最后才解决.为什么说诡异,是因为正常情况下是不会出现该问题的,而且百度上还真找不到相关的资料. 问题表现:一个普通的A ...

  8. 谈谈Android切换系统语言导致Activity的重启

    一:网上能搜到的解决方法: 方法:在AndroidManifest.xml中Activity节点中配置android:configChanges="locale|layoutDirectio ...

  9. Android——处理设备旋转Activity销毁时临时数据丢失的问题

    一,在设备的旋转的时候,发生了什么? 设备旋转时候,当前的activity实例会被系统销毁,然后创建一个新的Activity实例. 接下来我们通过检测Activity的生命周期来观察下: 上面是我启动 ...

  10. activity销毁时执行执行方法是_[Android开发 VIII ]销毁一个activity

    销毁一个activity一共有两种方法,一种是按下返回键,就可以销毁当前activity:还有一种方法就是通过代码的方式,Android提供了finish()这个方法,调用这个方法也可以完成销毁一个a ...

最新文章

  1. 某程序员毕业进UC,被阿里收购!跳去优酷土豆,又被阿里收购!再跳去饿了么,还被阿里收购!难道阿里想收购的是他?...
  2. Light OJ 1373 Strongly Connected Chemicals 二分匹配最大独立集
  3. 以太坊搭建联盟链详细教程
  4. 《剑指offer》字符串的排列
  5. 【JUC】CountDownLatch
  6. YY创始人体内植入芯片真相调查
  7. redis的hscan替换hgetall的疑问,redis返回列表获取数据示例
  8. 私人助手android,私人助手Pro专业版
  9. CSS内联样式的使用,实战篇
  10. 【Java】29.常用API之lang.Throwable(异常情况大总结)
  11. Excel的Index函数详解
  12. mysql bak文件怎么打开_如何打开数据库备份文件(.bak)
  13. 计算机网络的分类 ppt,《计算机网络》PPT课件.ppt
  14. TMS320C6748的StarterSware软件包
  15. 世界顶级机器学习科学家黄恒加入京东,出任京东大数据首席科学家
  16. css3中-moz-、-ms-、-webkit-、-o-分别代表什么内核
  17. 细说华为和荣耀的关系:潮流的荣耀和稳重的华为
  18. Linux 配置php
  19. Matlab之以度为单位的正弦函数sind
  20. 【免费开放源码】审批类小程序项目实战(我的页面)

热门文章

  1. 易语言清理IEcookies 缓存等 可用于IE清理cookies
  2. 中国齿科粘接剂行业发展趋势及前景动态预测报告2022-2027年
  3. 1000句最常用英语口语
  4. 《Photoshop蒙版与合成(第2版)》目录—导读
  5. 正确区分标识(zhi)符、关键字与保留字
  6. 不到两年的前端小白2017个人年终总结:今年的年终总结是为了更好的自己
  7. Java文件传输带宽控制_如何限制Java中的带宽?
  8. linux 微信安装
  9. java 引入本地dtd,java解析xml文件读取本地dtd或者忽略dtd
  10. Deep learning-based method coupled with small sample learning for solving partial differential equat