白天黑夜模式切换引起的activity销毁重启
当从深色模式切换到浅色模式时,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销毁重启相关推荐
- 屏幕旋转导致Activity销毁重建,ViewModel是如何恢复数据的
前言 当屏幕旋转或者切换系统语言时,Activity 生命周期从销毁再重建,但是ViewModel里面的变量值不受到影响,说明ViewModel中的变量在屏幕旋转前进行了存储,在屏幕旋转后又进行了恢复 ...
- Android开发——异步任务中Activity销毁时的问题
0. 前言 在Android开发中经常会发生Activity的销毁重建,比如用户长时间接听一个电话后回到APP.在Android开发--Fragment知识整理(二)中我们提到了使用Fragment ...
- android activity自动重启,8) 十分钟学会android--Activity的生命周期之停止与重启
恰当的停止与重启我们的activity是很重要的,在activity生命周期中,他们能确保用户感知到程序的存在并不会丢失他们的进度.在下面一些关键的场景中会涉及到停止与重启: 用户打开最近使用app的 ...
- 解决华为手机隐藏虚拟按键Activity被重启的问题
引言 最近技术群里面的妹纸说:在华为手机上开发应用的时候,隐藏底部的虚拟按键Activity会被重启的问题,并且找不到问题所在,于是查查资料,发现问题解决起来蛮简单的. 问题描述 一开始觉得应该是代码 ...
- 退出android app时界面残留影响,【Android】App 或 Activity 销毁重建的状态恢复对回调带来的影响...
问题背景 在开发 PassportSDK 时遇到的此类问题,测试反馈说当打开 App 进入登录页面,此时如果切换出去到手机设置页面将App 的定位权限设置为「拒绝授予」,在切换回 App 会发生登录信 ...
- Activity销毁onStop或onDestroy延时10s左右才回调
好记性不如烂笔头.生活中多做笔记,不仅可以方便自己,还可以方便他人. 前段时间,同事跟我说他遇到一个很奇怪的问题:退出页面,Activity销毁时onStop或onDestroy延时10s左右才回调. ...
- Android Activity自动重启的问题
描述: 最近在做项目时,碰到一个诡异的问题,各种可能的导致的原因排查了一天的时间,最后才解决.为什么说诡异,是因为正常情况下是不会出现该问题的,而且百度上还真找不到相关的资料. 问题表现:一个普通的A ...
- 谈谈Android切换系统语言导致Activity的重启
一:网上能搜到的解决方法: 方法:在AndroidManifest.xml中Activity节点中配置android:configChanges="locale|layoutDirectio ...
- Android——处理设备旋转Activity销毁时临时数据丢失的问题
一,在设备的旋转的时候,发生了什么? 设备旋转时候,当前的activity实例会被系统销毁,然后创建一个新的Activity实例. 接下来我们通过检测Activity的生命周期来观察下: 上面是我启动 ...
- activity销毁时执行执行方法是_[Android开发 VIII ]销毁一个activity
销毁一个activity一共有两种方法,一种是按下返回键,就可以销毁当前activity:还有一种方法就是通过代码的方式,Android提供了finish()这个方法,调用这个方法也可以完成销毁一个a ...
最新文章
- 某程序员毕业进UC,被阿里收购!跳去优酷土豆,又被阿里收购!再跳去饿了么,还被阿里收购!难道阿里想收购的是他?...
- Light OJ 1373 Strongly Connected Chemicals 二分匹配最大独立集
- 以太坊搭建联盟链详细教程
- 《剑指offer》字符串的排列
- 【JUC】CountDownLatch
- YY创始人体内植入芯片真相调查
- redis的hscan替换hgetall的疑问,redis返回列表获取数据示例
- 私人助手android,私人助手Pro专业版
- CSS内联样式的使用,实战篇
- 【Java】29.常用API之lang.Throwable(异常情况大总结)
- Excel的Index函数详解
- mysql bak文件怎么打开_如何打开数据库备份文件(.bak)
- 计算机网络的分类 ppt,《计算机网络》PPT课件.ppt
- TMS320C6748的StarterSware软件包
- 世界顶级机器学习科学家黄恒加入京东,出任京东大数据首席科学家
- css3中-moz-、-ms-、-webkit-、-o-分别代表什么内核
- 细说华为和荣耀的关系:潮流的荣耀和稳重的华为
- Linux 配置php
- Matlab之以度为单位的正弦函数sind
- 【免费开放源码】审批类小程序项目实战(我的页面)
热门文章
- 易语言清理IEcookies 缓存等 可用于IE清理cookies
- 中国齿科粘接剂行业发展趋势及前景动态预测报告2022-2027年
- 1000句最常用英语口语
- 《Photoshop蒙版与合成(第2版)》目录—导读
- 正确区分标识(zhi)符、关键字与保留字
- 不到两年的前端小白2017个人年终总结:今年的年终总结是为了更好的自己
- Java文件传输带宽控制_如何限制Java中的带宽?
- linux 微信安装
- java 引入本地dtd,java解析xml文件读取本地dtd或者忽略dtd
- Deep learning-based method coupled with small sample learning for solving partial differential equat