当前位置: 首页 > news >正文

【Android】更改手机主题导致app数据丢失问题

情景:在使用app过程中更改系统主题(比如从浅色主题改为深色主题),这时activity销毁重建了(即走了onPause、onStop、onSaveInstanceState、onDestroy、onCreate、onRestoreInstanceState、onStart、onResume的生命周期),所以没有保存下来的数据丢失了。

解决办法:在onSaveInstanceState时存储需要保存的数据,然后在onRestoreInstanceState拿取到之前保存的数据。

额外说明:此方法只适用于用java写的项目,不包括kotlin的项目(因为kotlin项目通常会用jetpack)。

新增疑问:为什么editText里的内容在界面重绘后没有丢失呢?这是因为Android框架会自动保存和恢复EditText的内容状态。当界面发生重新绘制时,Android会自动保存EditText的内容状态,并在重新绘制后恢复其内容,以确保用户输入的内容不会丢失。

http://www.lryc.cn/news/309455.html

相关文章:

  • Dell R730 2U服务器实践3:安装英伟达上代专业AI训练Nvidia P4计算卡
  • Nacos环境搭建 -- 服务注册与发现
  • Linux了解
  • Keil新版本安装编译器ARMCompiler 5.06
  • 【基础训练 || Test-1】
  • Python读取hbase数据库
  • LeetCode41题:缺失的第一个正数(python3)
  • C# DataTable 对象操作
  • web运行时安全
  • FPGA 与 数字电路的关系 - 这篇文章 将 持续 更新 :)
  • 18 SpringMVC实战
  • Rocky Linux 运维工具 dnf
  • 浅谈 Linux fork 函数
  • golang 装饰器模式详解
  • 刷题笔记day27-回溯算法2
  • 前端架构: 脚手架命令行交互核心实现之inquirer和readline的应用教程
  • 【C++初阶】内存管理
  • 《PyTorch深度学习实践》第十二讲循环神经网络基础
  • 蓝桥杯算法题汇总
  • 【MySQL】学习多表查询和笛卡尔积 - 副本
  • C++设计模式_创建型模式_工厂方法模式
  • matlab批量替换txt文本文件的特定行的内容
  • Qt Creator配置MSVC编译环境、调试环境
  • Linux系统运维命令:终止监听在 TCP端口80上的所有进程(使用lsof,grep,awk组合命令, 终止监听在 TCP某个端口上的所有进程)
  • 开源模型应用落地-业务优化篇(七)
  • 序列化-反序列化--json-xml-protoBuf
  • ubuntu 配置nacos开机启动
  • 单节点大数据平台运维脚本
  • HTML基础知识
  • 牛客禁用题:求阶乘