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

情景:在使用app过程中更改系统主题(比如从浅色主题改为深色主题),这时activity销毁重建了(即走了onPause、onStop、onSaveInstanceState、onDestroy、onCreate、onRestoreInstanceState、onStart、onResume的生命周期),所以没有保存下来的数据丢失了。
解决办法:在onSaveInstanceState时存储需要保存的数据,然后在onRestoreInstanceState拿取到之前保存的数据。
额外说明:此方法只适用于用java写的项目,不包括kotlin的项目(因为kotlin项目通常会用jetpack)。
新增疑问:为什么editText里的内容在界面重绘后没有丢失呢?这是因为Android框架会自动保存和恢复EditText的内容状态。当界面发生重新绘制时,Android会自动保存EditText的内容状态,并在重新绘制后恢复其内容,以确保用户输入的内容不会丢失。

相关推荐
正经教主1 小时前
【咨询】Android Studio 第三方手机模拟器对比【202511】
android·ide·android studio
Jomurphys2 小时前
网络 - 缓存
android
似霰3 小时前
安卓14移植以太网&&framework-connectivity-t 编译问题
android·framework·安卓·ethernet
Android-Flutter3 小时前
kotlin - 显示HDR图(heic格式),使用GainMap算法,速度从5秒提升到0.6秒
android·kotlin
雨白4 小时前
协程进阶:协作、互斥与共享状态管理
android·kotlin
用户41659673693554 小时前
深度剖析 Android Context:启动 Activity 与 View 创建的“内幕”
android
方白羽4 小时前
Android 唯一UUID方案
android·app
一个小狼娃4 小时前
Android集成Unity避坑指南
android·游戏·unity
川石课堂软件测试4 小时前
Python | 高阶函数基本应用及Decorator装饰器
android·开发语言·数据库·python·功能测试·mysql·单元测试