Flutter IOS 前后台切换主题自动变化的问题

BUG 触发条件

  • 设备 IOS 15 模拟器
  • GetX 实现换肤
  • GetMaterialApp 里面配置好 theme和darkTheme
  • 使用GetView和GetController进行开发

此时如果把App前后台切换,使用Obx包括起来的内容会跟谁异常主题变换,未使用Obx的颜色不会变化。

解决路径

首先在获取 lightTheme 和 darkTheme 进行断点,发现在切换到后台的时候会重新获取,猜测它应该是在进入后台的时候对主题进行了保存,但是存储机制可能是错误的。

既然存储异常了,就在进入后台之前再重新设置一遍主题好了;这里使用 WidgetsBinding 进行监听

复制代码
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
  super.didChangeAppLifecycleState(state);
  if(state == AppLifecycleState.paused) {
    /// 重新设置主题
  }
}

重新测试一下,问题解决。

相关推荐
2501_915106328 分钟前
iOS 26 能耗监测全景,Adaptive Power、新电池视图
android·macos·ios·小程序·uni-app·cocoa·iphone
Geek 研究僧4 小时前
iPhone 17 Pro Max 的影像升级全解:从长焦、前置聊到 ProRes RAW
图像处理·ios·iphone·影像
傅里叶5 小时前
SchedulerBinding 的三个Frame回调
前端·flutter
立方世界6 小时前
Flutter技术栈深度解析:从架构设计到性能优化
flutter
前端 贾公子6 小时前
《Vuejs设计与实现》第 18 章(同构渲染)(上)
android·flutter
ZFJ_张福杰6 小时前
【Flutter】约束错误总结(Constraint Error 全面解析)
flutter
鹏多多9 小时前
flutter-切换状态显示不同组件10种实现方案全解析
android·前端·ios
jh_cao10 小时前
(4)SwiftUI 基础(第四篇)
ios·swiftui·swift
00后程序员张11 小时前
苹果软件混淆的工程逻辑,从符号空间到资源扰动的体系化实现
android·ios·小程序·https·uni-app·iphone·webview
程序员老刘1 天前
2025年Flutter状态管理新趋势:AI友好度成为技术选型第一标准
flutter·ai编程·客户端