gpt4 book ai didi

dart - 仅在设备上诊断Flutter MaterialApp主题运行时更改缓慢的原因

转载 作者:行者123 更新时间:2023-12-03 03:05:33 25 4
gpt4 key购买 nike

我将SharedPreferences服务类包装在实现PreferencesProvider.of(context)的提供程序类中。它设置主题如下:

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: PreferencesProvider.of(context).service.isDark,
initialData: PreferencesProvider.of(context).service.isDark.value, //its an rxDart ValueObservable
builder: (context, snapshot) => MaterialApp(
theme: ThemeData(
brightness: snapshot.data ? Brightness.dark : Brightness.light,
primarySwatch: Colors.blue,
///etc etc etc

小部件可以仅使用 PreferencesProvider.of(context).service.toggleIsDark()更改主题。它运行良好,但是冻结大约3秒钟即可更改设备上的主题。在模拟器上,它会立即发生。

任何可能的调试线索都很好。我尝试使用Dart天文台时间轴,但看不到任何有用的信息(我对此没有多大意义)。

最佳答案

发生这种情况是因为我在最外部的构建函数中创建了我的BLoC。我将创建内容移至main()并传入创建的BLoC,从而解决了该问题。除了构建功能中的小部件外,不要创建任何东西!

关于dart - 仅在设备上诊断Flutter MaterialApp主题运行时更改缓慢的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54525972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com