以下是我根据提供程序值更改 UI 的方式:
class Decider extends StatelessWidget {
@override
Widget build(BuildContext context) =>
Consumer<ConnectionStateUpdate>(
builder: (_, connectionStateUpdate, __) {
bool _bleDeviceConnected() =>
connectionStateUpdate.connectionState ==
DeviceConnectionState.connected;
if (_bleDeviceConnected()) return DeviceUI(); //stateful widget which contains device UI and funcs
else return DeviceConnectChecks(); //stateful widget allowing searching/connecting to device
}
);
}
这是否意味着每次 bleDeviceConnected 的 bool 值发生变化时,都会创建同一个类的新实例并将前一个保存在内存中?在反复断开/连接设备(在应用的同一实例中大约 6-7 次,即没有重新启动它)后,UI 和动画开始出现卡顿。