我在 Flutter 中找到了一種非常幼稚且簡單的狀態管理方法。我使用蜂巢框(鍵值資料庫)存盤狀態,并使用 setState 每秒重建螢屏。
小部件未訪問 API。只是非常快速和輕量級的 Hive 資料庫。
我想這是錯誤的,但在實踐中這種方法有什么問題?這會使用大量電池、過多的 CPU 導致崩潰、記憶體泄漏嗎?我不這么認為。
請給一個很好的理由不這樣做。
late Box db;
main() async {
await Hive.initFlutter();
db = await Hive.openBox('db');
runApp(const MyApp());
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
Timer.periodic(const Duration(seconds: 1), (Timer t) => setState(() {}));
super.initState();
}
@override
Widget build(BuildContext context) {
double someValue = db.get('someValue', defaultValue: 0.0);
// Show someValue in a Text
}
uj5u.com熱心網友回復:
如果您是新來的,那么這個問題被認為是非常合乎邏輯的并且對新開發人員來說是有意義的,所以甜蜜而簡單的答案是肯定的,您可以這樣做。但這完全違反了軟體開發道德,并且會使您的應用程式比普通的 Flutter 應用程式慢得多。在開發任何軟體(尤其是移動應用程式)期間的主要問題是,您必須考慮沒有良好電池壽命和足夠記憶體來運行最優化的應用程式的低端設備。
結論
在某些情況下,您可以使用此方法定期重建您的顫振小部件,但請始終記住它會增加意外崩潰的機會,并且肯定會導致一些 UI 滯后問題。要獲得更多洞察力,您可以使用Flutter Dart DevTools查看您的應用程式性能
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/517367.html
標籤:扑镖状态管理简化颤振蜂巢
上一篇:特殊形式的Flutter材質提升
