элемент в листе - нужно будет перезаписать весь лист через ивент (https://bloclibrary.dev/#/fluttertodostutorial?id=bloc), что будет очень ресурсозатратно? Есть ли пути обхода таких сильных лагов?
“Перезаписать весь лист, что будет очень ресурсозатратно” — куда перезаписать?) При обновлении иммутабельного объекта стейта вы не пересоздаете каждое поле, хотите обновить только лист — обновите только лист.
Насколько это эффективно, даже если учитывать, что используется listview.builder? Других вариантов нет?
Насколько эффективно обновление только необходимого участка объекта?)
Имеется ввиду обновление только элемента в листе, а потом перезаписывание иммутабельного листа в стейте?
Нет, ничего никуда не перезаписывается. Имеется ввиду создание обновлённого стейта с обновлённым полем списка.
В памяти list разве не обновляется полностью?
Что именно вы подразумеваете? Что каждый элемент создаётся заново? Конечно же нет)
Есть выделенное место в памяти под лист, после того, как элемент в листе поменялся - нужно обновить стейт с новым листом, получается, что старая ссылка в памяти на лист уходит в сборщик мусора, и созлается новая ссылка на новый лист? Или нет?
<String>["a", ...["b"], ...[], ...[...["c"]]] В этом примере что-то "пересоздается"?
я так понимаю, что нет
Обсуждают сегодня