169 похожих чатов

Кто может объяснить не могу понять флатер. Есть у меня

к примеру SingleChildScrollView в котором просто Column -> Text*1000 на 1000 элементов. Почему скролинг тупит? Разве он не должен просто один раз отрисовать список и потом просто вьюпорт перемещать? Откуда тормоза?

8 ответов

13 просмотров

В дебаге проверяешь?

Докстринга SingleChildScrollView. /// When you have a list of children and do not require cross-axis /// shrink-wrapping behavior, for example a scrolling list that is always the /// width of the screen, consider [ListView], which is vastly more efficient /// than a [SingleChildScrollView] containing a [ListBody] or [Column] with /// many children. А еще лучше использовать ListView.builder(). Из той же докстринги можно понять почему.

Yurij-horssyyy Автор вопроса
Luka Katsadze
В дебаге проверяешь?

В дебагере вижу вызовы RenderParagraph при скролинге

Дело в том, что он пытается отрисовать сразу 1000 строк. И у устройства может банально не хватить оперативки или мощности процессора. Если нужно отрисовать много строк используй ListView.builder. Он генерит строки по мере надобности и «забывает» те, которые ты уже пролистал.

Где можно прочитать про таких свойств ListView?

Yurij-horssyyy Автор вопроса
Yurij-horssyyy Автор вопроса
Антон
Дело в том, что он пытается отрисовать сразу 1000 ...

Я просто не совсем привык к декларативному UI, где что-то там само ребилдится. Обычно ничего не ребилдится если ты явно не изменил что-то. А тут получается другая история

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта